0

我正在尝试将视图的背景设置为红色,只是为了尝试一些东西。我在活动布局中添加了一个视图,并给它一个 id,“gradientView”。在我的 Java 代码中,我创建了一个像这样的新视图:

    View gradientView = (View) findViewById(R.id.gradientView);

在 onCreate 我这样做:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_clean_weather);
    gradientView.setBackgroundColor(Color.RED);

出于某种原因,它在 findViewById 处给了我一个空指针异常。当我将它引用到我的 XML 视图时,我以为我让它“不为空”?!

有谁知道发生了什么?

谢谢。

4

1 回答 1

3

findviewById应该追求setContentView(..);

例子:

 super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_clean_weather);
    View gradientView = (View) findViewById(R.id.gradientView);
    gradientView.setBackgroundColor(Color.RED);

否则gradientView将为 null 并且对null引用的任何操作都会导致NullPointerException.

于 2012-10-03T20:59:18.210 回答