为什么有R.java文件,也更新了,再Activity类还是提示找不到R下的各种id呢?

ameyume
博客专家认证
2010-08-06 12:17:28
如题。
高不明白了,一堆红叉!
刚开始是因为修改了一个字符串的id名字,导致在R.java中没有更新,后来更新了,但其他的也找不到,变成了全都找不到资源id。
...全文
4149 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttsunsong 2012-07-28
  • 打赏
  • 举报
回复
谢谢楼主,去掉android.R即可。
阿c 2012-07-18
  • 打赏
  • 举报
回复
我也遇到这问题,来看到这儿,包android.r去掉,解决,谢谢楼主!
myserverthepeople 2012-04-25
  • 打赏
  • 举报
回复
楼主我今天也遇到这个问题,解决了,我看各位朋友后来改一下就行了,不要包android.R
onepiece2345 2012-02-10
  • 打赏
  • 举报
回复
和我遇到的一样,Eclipse自动导入了Android.R造成的,果断删之
dreamer 2011-11-29
  • 打赏
  • 举报
回复
出现了楼主一样的问题,搞得很郁闷~~~
5楼的大哥说对了

谢了
wtlm588 2011-08-31
  • 打赏
  • 举报
回复
五楼正解 呵呵 纠结啊
ameyume 2010-08-06
  • 打赏
  • 举报
回复
新建了一个工程,复制res目录下的所有文件都没有问题,一复制java的主文件中含有R.的就出错,开始几个R.id.的复制也出错,手动输入就没有错。后来R.的先拷贝报错后再输入也出错,并且导致前面几个R.layout.main和R.id.后面的也报错了。
不知道是不是编码的问题。没看出来什么问题。
ameyume 2010-08-06
  • 打赏
  • 举报
回复
R.java,自动生成了所有的资源
    public static final class string {
public static final int app_name=0x7f040000;
public static final int init_time_100millisecond=0x7f040002;
public static final int init_time_10millisecond=0x7f040003;
public static final int init_time_millisecond=0x7f040004;
public static final int init_time_second=0x7f040001;
public static final int menu_exit=0x7f040006;
public static final int menu_setting_100milisec=0x7f040008;
public static final int menu_setting_10milisec=0x7f040009;
public static final int menu_setting_milisec=0x7f04000a;
public static final int menu_setting_second=0x7f040007;
public static final int menu_setting_timer_unit=0x7f040005;
}


没有动过mainfest文件

ameyume 2010-08-06
  • 打赏
  • 举报
回复
    // Stop
View.OnClickListener stopListener = new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (null != timer) {
timer.cancel(); // Exit timer
timer = null;
}
mlCount = 0;
bIsRunningFlg = false;
btnStartPause.setImageResource(R.drawable.start);

if (SETTING_SECOND_ID == settingTimerUnitFlg) {
// second
tvTime.setText(R.string.init_time_second);
} else if (SETTING_100MILLISECOND_ID == settingTimerUnitFlg) {
// 100 millisecond
tvTime.setText(R.string.init_time_100millisecond);
} else if (SETTING_10MILLISECOND_ID == settingTimerUnitFlg) {
// 10 millisecond
tvTime.setText(R.string.init_time_10millisecond);
} else if (SETTING_100MILLISECOND_ID == settingTimerUnitFlg) {
// 1 millisecond
tvTime.setText(R.string.init_time_millisecond);
}
Log.d("MyTimer", "Stop is clicked.");
}

};

这是一部分代码,再eclipse中显示所有R.开头的为红色波浪线。

sharkdoodoo 2010-08-06
  • 打赏
  • 举报
回复
截图或者代码有没有?

mainfest文件有没有动过?
儿大不由爷 2010-08-06
  • 打赏
  • 举报
回复
clean 重新编译,或者refresh一下工程,这个一般是修改了资源相关文件,但是没有重新生成R,造成的。
纠结的木棉花 2010-08-06
  • 打赏
  • 举报
回复
我觉得是你修改了原始的R.java吧,其实想Id之类的没有必要再R文件里面生成啊,你直接在你的相关的XMl文件里面 把相关组件的Id说明一下就ok了,或许你可以新建一个project,里面肯定有自动生成的R文件,你可以把自己的程序ctrl+v进去试试!

[Quote=引用楼主 ameyume 的回复:]
如题。
高不明白了,一堆红叉!
刚开始是因为修改了一个字符串的id名字,导致在R.java中没有更新,后来更新了,但其他的也找不到,变成了全都找不到资源id。
[/Quote]
sharkdoodoo 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 smallhero007 的回复:]
楼主 你看看你类中导入包,是不是导入了Android.R。
导致不能导入你主类中的R.
[/Quote]

这个也极有可能!
sharkdoodoo 2010-08-06
  • 打赏
  • 举报
回复
试试 项目右键 ==>> properties ==>> java complier ==>> 选择用1.6编译试试
SmallHero007 2010-08-06
  • 打赏
  • 举报
回复
楼主 你看看你类中导入包,是不是导入了Android.R。
导致不能导入你主类中的R.
oyq_yangy 2010-08-06
  • 打赏
  • 举报
回复
把Gen目录删掉,从新编译,还有再检查一下是不是import你的R那句话被删除了。。。
renshenmao 2010-08-06
  • 打赏
  • 举报
回复
是不是导入的文件有问题
ameyume 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 longshao_feng 的回复:]
引用 10 楼 ameyume 的回复:
引用 7 楼 longshao_feng 的回复:
引用 5 楼 smallhero007 的回复:
楼主 你看看你类中导入包,是不是导入了Android.R。
导致不能导入你主类中的R.


这个也极有可能!

类中导入了Android.R,第一个就是。


refresh刷新试过了,不起作用,
显示是R.java可以更新了,但……
[/Quote]
明白了,那还真有可能是这个原因。
sharkdoodoo 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ameyume 的回复:]
引用 7 楼 longshao_feng 的回复:
引用 5 楼 smallhero007 的回复:
楼主 你看看你类中导入包,是不是导入了Android.R。
导致不能导入你主类中的R.


这个也极有可能!

类中导入了Android.R,第一个就是。


refresh刷新试过了,不起作用,
显示是R.java可以更新了,但是还是报错找不到id的定义。


试试……
[/Quote]


不能用Android.R
要用自己的R
ameyume 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 longshao_feng 的回复:]
引用 5 楼 smallhero007 的回复:
楼主 你看看你类中导入包,是不是导入了Android.R。
导致不能导入你主类中的R.


这个也极有可能!
[/Quote]
类中导入了Android.R,第一个就是。


refresh刷新试过了,不起作用,
显示是R.java可以更新了,但是还是报错找不到id的定义。


试试 项目右键 ==>> properties ==>> java complier ==>> 选择用1.6编译试试
这个到没有试过。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧