2013-07-11 26 views
0

当我在Android项目中添加一个新的活动(.java和.XML文件)时,曾经工作的某些R.id值会丢失并导致我的应用程序抛出NullPointerException ,但如果我用十六进制值再次工作:当没有找到R.id值时引发Android 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”命令来添加新的活动?

+0

如果您使用最新的sdk,那么当您遇到错误时,您是否尝试过'Build-> Rebuild Project'? –

+0

添加您的XMl代码,我认为您的新xml文件中存在一些错误 – OMAK

+0

请发布错误日志或一些片段。 – Harshid

回答

0

您正在使用什么导入?你必须使用

your_package_name.R

0

也有一些是不对您的ADT。尝试更新到最新版本。

如果问题仍然存在,请尝试在添加新xml时清理项目。

0

下面是如何在Eclipse中解决了这个问题:

文件夹手动创建R.java和保存。之后去到项目,点击“清洁”以下信息将显示你的文件将自动被改写:

R.java被手动修改!恢复到生成的版本!

这是另一种方法

R是自动生成的类,用于保存用于识别您>资源的常数。如果您没有R.java文件(在1.5 SDK中它将是gen/com.techfuze.app_name/R.java> Eclipse),我会建议关闭并重新打开您的项目或转至>项目>全部构建 (并按照Josef的推荐,选择“自动构建”)。如果这不起作用而不是尝试制作一个新项目,如果问题重新创建,那么请再次发布,我们将详细介绍。

但我发现还有一个问题导致了第一个问题。 SDK目录中的工具没有被执行的权限,所以它就像Eclipse不存在的一样,因此它没有构建R.java文件。

因此修改权限并选择“自动构建”解决了该问题。