关于R.java的问题。 似乎我发现在不同的Activity中建立同id的控件在R.java中只会出现一个。那么在使用findViewById方法的时候 R.id.xxx是不是默认就是只去当前activity中的那个控件?这样严谨嘛? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可行是可行,但是我觉得也不是很好,如果一个Activity应用了两个布局文件,那这两个布局文件中就不应该有相同ID的view(即使他们不会同时出现) 应该根据你 findViewById 前面的 那个 ViewGroup 有关系的 这是一个折中的办法,而且也是在这种应用场景中唯一可行的办法。因为如果同一个ID可以对应不同的R.id,那在ID转R.id的时候又该选哪一个,这肯定要增加不必要的逻辑,而且没有额外收益。即便同一个布局文件,里面的控件也是可以取相同的ID的,至于如何区分不同的控件,这可以通过布局的层级关系来确定。如果程序员真的希望它们的R.id是不一样的,那最简单的办法就是把ID取的不一样 创建Activity的时候会去读取setContentView(R.layout.xxx.xml);这个时候view指向的是xxx.xml所以系统会在xxx.xml下面去找这个id的资源文件。如果你不写setContentView(R.layout.xxx.xml);这行代码是找不到的。 Android默认的尺寸单位以及和像素单位的转换 android 按钮转换成普通的按钮 android 中如何实现立即刷新重绘面板 android 双卡双待的手机如何 设置指定sim卡的apn ? 为什么我的Fragment UI 显示不出来 广播接受时 无法实例化 Android中 怎么把 AlertDialog 单选项列表框默认选中前次保存的值 Android下如何弹出图片浏览器选择框? 如何保持登陆状态 eclipse中R文件生成报错 Android开发实现显示Pdf文件 android水平滚动条HorizontalScrollView怎么判断是否滚动到了最左端或最右端啊?
因为如果同一个ID可以对应不同的R.id,那在ID转R.id的时候又该选哪一个,这肯定要增加不必要的逻辑,而且没有额外收益。即便同一个布局文件,里面的控件也是可以取相同的ID的,至于如何区分不同的控件,这可以通过布局的层级关系来确定。如果程序员真的希望它们的R.id是不一样的,那最简单的办法就是把ID取的不一样
这个时候view指向的是xxx.xml
所以系统会在xxx.xml下面去找这个id的资源文件。
如果你不写setContentView(R.layout.xxx.xml);这行代码是找不到的。