自动生成的R.java有时不可靠
2015-08-27 13:28
627 查看
最近接触了安卓开发,今天遇到一个问题,就是有两个控件,一个TextView tv1,一个WebView wv1,本来wv1在tv1的上面程序可以正常跑起来的。
后来我把xml文件当中的两个控件换了下位置,把tv1放在了wv1的上面,结果跑起来出错,说是TextView对象不能被转换成WebView对象,我看了下,代码中涉及到转换成WebView对象的代码只有一处:
很明显这个地方后面取错了对象,取了个TextView对象所以会出错,我想想这些对象和其id对应关系都是保存在R.java文件里的,所以我打开R.java,发现有两句是这样的:
我想了下可能是在调换两个对象的时候,R.java没有自动调换两个控件,于是手动修改成:
再跑起来发现就正常啦~~
后来我把xml文件当中的两个控件换了下位置,把tv1放在了wv1的上面,结果跑起来出错,说是TextView对象不能被转换成WebView对象,我看了下,代码中涉及到转换成WebView对象的代码只有一处:
WebView wv = (WebView)findViewById(R.id.wv1);
很明显这个地方后面取错了对象,取了个TextView对象所以会出错,我想想这些对象和其id对应关系都是保存在R.java文件里的,所以我打开R.java,发现有两句是这样的:
public static final int tv1=0x7f080003; public static final int wv1=0x7f080002;
我想了下可能是在调换两个对象的时候,R.java没有自动调换两个控件,于是手动修改成:
public static final int tv1=0x7f080002; public static final int wv1=0x7f080003;
再跑起来发现就正常啦~~
-------------9月24日更新-----------
直接删除掉R.java文件,让它重新自动生成也可以。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories