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

ameyume
领域专家: 操作系统技术领域
2010-08-06 12:17:28
如题。
高不明白了,一堆红叉!
刚开始是因为修改了一个字符串的id名字,导致在R.java中没有更新,后来更新了,但其他的也找不到,变成了全都找不到资源id。
...全文
4193 20 打赏 收藏 转发到动态 举报
写回复
用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编译试试
这个到没有试过。
代码下载链接: https://pan.quark.cn/s/feb6394ba113 放射性核素衰变查询软件“decay”是一款为核物理学领域设计的专用工具,其功能在于提供全面的放射性核素衰变信息,涵盖了衰变链、分支比等核心数据。该软件特别适合科研人员、工程师以及关注核能或放射性物质的用户群体。在深入探讨这款软件之前,有必要先掌握放射性核素的基础知识。放射性核素定义为不稳定的原子核,由于质子与中子数量失衡,会自发触发核反应,释放能量及/或产生新粒子,此现象即为核衰变。常见的核衰变形式包含α衰变、β衰变(涵盖β+衰变与β-衰变)、γ衰变和电子俘获等。每一种衰变型都关联着特定的能量释放和新生成的核素。“decay”软件的主要作用是进行衰变链的查询。衰变链描述的是一个放射性核素通过一连串连续的衰变步骤,最终转变为非放射性核素的现象。比如,铀-238会经由多次α和β衰变,最终转化为铅-206。该软件能够呈现这些衰变链的详尽资料,助力用户追踪并解析这一过程。分支比反映了衰变过程中各个可能途径的概率,即一个放射性核素在发生衰变时选择特定路径的可能性。分支比对于解析衰变过程中的能量分布和产物生成具有决定性意义,特别是在核能开发、环境检测和医疗领域中不可或缺。这款软件的运行环境设定在Windows XP系统,这表明它可能依赖于较早期的API和库,而这些在现代操作系统上可能存在兼容性问题。对于那些仍在使用或研究老旧系统的人员而言,“decay”是一份极具价值的参考资料。放射性核素的应用遍及多个领域,包括医学上的放射性同位素疗法、地质学中的年代测定、能源产业中的核反应堆构建以及环境科学里的污染物追踪等。“decay”软件所提供的数据能够协助专业人士精确计算和预估放射性物质的特性...
内容概要:本文档提供了Windows环境下Nginx的详细配置指南,适用于企业内网部署场景。配置文件以Django + Waitress应用架构为基础,全面涵盖反向代理、HTTPS加密、静态文件托管、安全防护等功能。文档对每一项配置均进行了通俗易懂的解释,包括工作进程设置、日志管理、连接处理、SSL证书配置、HTTP/2支持以及多种安全加固措施,如恶意请求拦截(SQL注入、XSS)、敏感文件访问限制、IP白名单机制和关键请求头转发,确保Web服务的安全性与稳定性。; 适合人群:具备基本Web服务器概念,正在Windows平台部署Python Web应用(尤其是Django)的开发人员或运维人员,尤其适合缺乏Nginx实战经验的初级至中级技术人员。; 使用场景及目标:①搭建安全可靠的反向代理服务器,将Nginx作为Django应用的前端网关;②实现HTTPS访问、静态资源分离与安全策略强化;③防范常见Web攻击,保护敏感配置文件和接口不被非法访问;④解决因请求头缺失导致的CSRF、登录失效等问题。; 阅读建议:建议结合实际项目逐步配置,并重点关注proxy_set_header各项参数的作用及其与Django的协同设置,务必在测试环境中验证所有安全规则和代理功能后再上线。

80,491

社区成员

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

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