0

当我在我的 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”命令来添加新活动之外,还有什么要做的吗?

4

3 回答 3

0

你的 ADT 有问题。尝试更新到最新版本。

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

于 2013-07-11T05:48:51.367 回答
0

这是我在 Eclipse 中解决此问题的方法:

手动R.javagen文件夹中创建并保存。之后转到项目并单击“清理”将显示以下消息,并且您的文件将自动重写:

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

这是替代方法

R 是一个自动生成的类,其中包含用于标识您的 >resources 的常量。如果您没有R.java文件(使用 1.5 SDK 在 >Eclipse 中将是 gen/com.techfuze.app_name/R.java),我建议关闭并重新打开您的项目或转到>Project > Build all(并选择根据 >Josef 的建议,“自动构建” 。如果这不起作用,不如尝试创建一个新项目,如果问题被重新创建,那么 >post here 再次,我们将更详细地介绍。

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

所以修改权限并选择“自动构建”解决了这个问题。

于 2013-07-11T05:51:13.080 回答
0

你正在使用什么进口?你必须使用

your_package_name.R

于 2013-07-11T04:12:51.147 回答