小编pak*_*ldt的帖子

确定操作栏是否拆分

我有一个MapView动作栏,由ActionBarSherlock提供动力.操作栏分开(在"窄"屏幕上)和重叠/半透明(android:windowActionBarOverlay为真).或多或少像Google地图应用.

现在我想在地图顶部推送视图,在屏幕底部仍保持在底部操作栏上方.我的问题在于我不知道底部操作栏的高度.坦率地说,我甚至无法找到一种方法来知道它是否被绘制.getHeight()似乎返回顶部操作栏的高度(或者它可能是两者的高度,但我仍然不知道底部操作栏是否存在.

请告诉我这些信息就在我面前!

android actionbarsherlock android-actionbar

9
推荐指数
2
解决办法
2534
查看次数

在ViewPager中未使用Fragment调用onCreateView

我使用ViewPagerACL来显示几个Fragments.首先,这些片段中的所有片段都ListFragment包含列表.我正在尝试模仿2列表,因此列表中的每个元素都包含另外两个对象的列表.我希望每个单元格都可以长按(不是整个列表项),因此我实现了自己的ColumnLayout(也许它应该被称为CellLayout).每个列表项包含两个可长按的ColumnLayouts,并实现getContextMenuInfo()返回有关长按哪个实体的信息.此方法查找ViewPager,请求当前片段,然后调用片段以从长时间单击的视图中返回实体ID.为了获得片段需要执行的正确行:

getListView().getPositionForView(v)
Run Code Online (Sandbox Code Playgroud)

这就是问题开始的地方.有时会getListView()抛出IllegalStateException"内容视图尚未创建".即onCreateView(...)没有被召唤.这有时仅在应用程序恢复时发生.今天,我设法通过在我的Galaxy Nexus上的设置>开发人员选项中启用"不要保持活动"选项来重新产生问题.我启动应用程序,按Home,然后从最近的应用程序菜单重新打开应用程序,现在,如果我长按listview中的任何单元格,则抛出此异常.通过一些调试输出,我设法验证从未调用onCreateView.这有点奇怪,因为整个ViewPager及其Fragment及其ListView及其单元格项目都被绘制出来了!

我在#android-dev上被告知ListFragment在ACL中不支持自定义布局,所以我重新实现了我android.support.v4.app.Fragment没有使用ListFragment但没有帮助.

简短摘要:我有一个自定义布局,用于处理长按布局的事件,目的是创建一个MenuInfo对象,其中包含有关按下的单元格中的权限的信息.为了找到布局中包含的实体,listview.getPositionForView(View v)最终被调用,有时会导致IllegalStateException.

在这里我的自定义布局(也许有一种ViewPager比在视图层次结构中挖掘更容易的方法):

package org.remotestick;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View;
import android.widget.LinearLayout;

public class ColumnLayout extends LinearLayout {

    public ColumnLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public ColumnLayout(Context context) {
        super(context);
    }

    @Override
    protected ContextMenuInfo getContextMenuInfo() {
        int itemTypeId = …
Run Code Online (Sandbox Code Playgroud)

android fragment illegalstateexception android-viewpager

5
推荐指数
1
解决办法
8942
查看次数

无法使用google-cloud node.js客户端插入BigQuery

我有一个与BigQuery节点一起运行的Node-RED安装,但突然停止工作。能够将其范围缩小到一个很小的例子,我再也无法工作了:

代码如下:

// Imports the Google Cloud client library
const BigQuery = require('@google-cloud/bigquery');

// Your Google Cloud Platform project ID
const projectId = 'my-project';
const file = './google-cloud-auth.json'

// Creates a client
const bigquery = new BigQuery({
  projectId: projectId,
  keyFilename: file
});

const datainsert = {
    "water_total": 555,
    "power_vp": 3460651,
    "power_ftx": 4401819,
    "time": "2018-01-23T09:50:17.672Z",
    "power_total": 5737457,
    "power_garage_radiator_south": 182521,
    "power_garage_radiator_north": 76388
};
// The name for the new dataset
const dataset = bigquery.dataset('consumption');
const table = dataset.table('consumption_test');
table.insert(datainsert, function(err, response) { …
Run Code Online (Sandbox Code Playgroud)

node.js google-bigquery google-cloud-platform

2
推荐指数
1
解决办法
463
查看次数