Android findViewById返回NULL

时间:2011-05-14 15:49:48

标签: android

有时候我的xml视图出现了一个奇怪的问题,并且在Android Eclipse SDK中包含了子元素。

例如,我有一个名为main.xml的xml视图,其中包含LinearLayout和TextView作为唯一子项,其id为 textView1 。一切都很好(很长一段时间)。在进行一些重大代码更改时,可能会发生,findViewById(R.id.textView1);开始返回 null 。重新编译不会改变任何东西。这很奇怪。

过了一段时间我发现了一种解决方法......我将 main.xml 复制到 main2.xml 并将setContentView(R.layout.main)更改为setContentView(R.layout.main2)并且一切都工作得很好,除了布局参考之外没有改变任何东西,甚至布局本身也只是被复制了。没有内容被修改。第一次运行后,我可以删除 main2.xml 并将布局设置回R.layout.main。不再有NullPointerException。

有人知道出了什么问题以及如何在不做愚蠢的复制的情况下解决这个问题吗?

最佳, Hacksteak

1 个答案:

答案 0 :(得分:4)

如果Eclipse存在问题,就像强制关闭一样,我会发生这种情况。它对我有用的是清理项目,直到它获得所有资源和参考资料。