[英]Android Nullpointerexception thrown when R.id value not found
当我在Android项目中添加新的活动(.java和.XML文件)时,一些曾经起作用的R.id值会丢失,并导致我的应用抛出NullPointerException异常,但是如果我使用十六进制值,它将再次起作用:
R.java: public static final int editTextTotal=0x7f040064;
findViewById(R.id.editTextTotal); //Throws nullpointerex after I add a new activity.
findViewById(0x7f040067) //Works
我已经对Eclipse感到厌倦,所以只使用命令,除了添加文件,更改清单并运行“ ant debug”命令以添加新活动之外,还需要做其他事情吗?
您正在使用什么导入? 你必须用
your_package_name.R
您的ADT出问题了。 尝试更新到最新版本。
如果问题仍然存在,请在添加新的xml时尝试清理项目。
这是我在Eclipse中解决此问题的方法:
在gen文件夹中手动创建R.java
并保存。 之后,转到Project并单击“清理” 。将显示以下消息,并且您的文件将自动被重写:
R.java是手动修改的! 恢复到生成的版本!
这是替代方法
R是一个自动生成的类,其中包含用于标识资源的常量。 如果您没有R.java
文件(在带有1.5 SDK的> Eclipse中为gen / com.techfuze.app_name / R.java),则建议您关闭并重新打开项目,或者转到> Project> Build all (并按照> Josef的建议选择“自动构建” )。 如果那不如尝试创建一个新项目不起作用,如果重新创建了问题,然后再>在此发布,我们将进行更详细的介绍。
但我发现还有另一个问题导致了第一个问题。 SDK目录中的工具没有执行权限,因此就好像Eclipse不存在该工具一样,因此它没有构建R.java
文件。
因此,修改权限并选择“自动构建”即可解决该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.