无法在Android中使用findViewById方法查找组件

时间:2011-09-20 20:00:11

标签: android layout nullpointerexception

我正在尝试创建一个Activity,不幸的是每次我想抓取我的一个XML组件时,它都会给我一个RunTimeException(NullPointer)。

我随时使用以下代码:

TextView tv = (TextView) findViewById(R.id.myView);    //I get the exception

我尝试使用该方法找到的任何组件都会发生同样的情况。我无法弄清楚原因。我知道这不是因为Activity不在Manifest中,因为它是我制作的测试应用程序中唯一的Activity。 (默认设置)。

奇怪的是我仍然可以使用setContentView(R.id.myView)。在使用findViewById方法时,它似乎不想找到任何东西。

可能有用的信息:

  • 我目前正在使用NetBeans作为我的IDE。
  • 我已按照另一个问题的建议完成了多次'清理和构建'。 Android -findViewById question

之前是否有人遇到此问题?如果是这样,解决方案是什么?

如果需要,我可以提供发生这种情况的示例代码。

2 个答案:

答案 0 :(得分:2)

不要将视图ID传递给setContentView,传入布局资源ID:

setContentView(R.layout.layout_name);

如果仍有问题,请发布您的布局文件。

答案 1 :(得分:1)

您确实没有正确生成R.java。

在netbeans IDE中删除R.Java并重新构建项目。

希望它能解决您的疑问。