0

我正在尝试设置相对布局的背景,

relativeLayout1.setBackgroundColor(0x00000000);

我的程序一直在崩溃。这是logcat

代码:

RelativeLayout window=(RelativeLayout) findViewById(R.id.window);
window.setBackgroundColor(0x00000000);

这是除了常规代码之外唯一的setContentView(R.layout.something);东西super.onCreate(savedInstanceState);

完整代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_invisible);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
    window=(RelativeLayout) findViewById(R.id.window);
        window.setBackgroundColor(0x00000000);
}
4

4 回答 4

1

从随附的 logcat 中,我可以说您的window指针很可能是null在您尝试设置背景颜色时。它可能是由不同类型的问题引起的:

  • 您的something.xml布局不包含具有android:id="@+id/window"属性的元素
  • 您的something.xml布局确实包含具有android:id="@+id/window"属性的元素,但该元素不是RelativeLayout
  • 您的项目资源数据搞砸了。尝试做 Project->Clean 来重建资源
于 2013-01-14T19:49:38.950 回答
0

有你R.layout.something的 id 布局R.id.window吗?

也许你错过了什么?

于 2013-01-14T19:49:05.310 回答
0

您可以使用它来代替相对 layout.setBackgroundDrawable(get resources().get drawable(R.drawable.bg);

或者你可以在 XML android 中定义它: background="@drawable/bg"

于 2013-01-14T19:57:23.293 回答
0

这是 Eclipse 的另一个时刻。它没有编译我的代码,所以我正在执行旧代码。重新启动 Eclipse,我的应用程序现在可以正常工作了。

于 2013-01-15T04:08:59.897 回答