问题描述
- Android中不同xml文件中id可以重复么?
-
Android中如果两个layout布局文件中都有一个TextView控件,而且拥有同样的id,那样的话会乱套嘛?
比如我有a.xml,中间有控件TextView id为tv,有b.xml,中间有控件TextView id为tv,在R文件中能看到id内部类中只有一个tv常量,调用时是因为用之前是用色图ContentView设置了对应的布局所以不会混乱嘛,还是说就是会混乱的呢,我记得以前好像用的时候用混乱过,但是今天听老师讲课说是可行的,不会造成混乱,傻傻又分不清楚了,求解答
解决方案
应该不会混乱,因为你引用的时候是R.xmlname.idname。还是能保证唯一性。跟你一个工程不同包名下可以定义相同的类名的类一样的道理。
解决方案二:
会给你代码中搜索控件造成麻烦,最好不一样。
解决方案三:
可以的哦,我试过,当然最好是不要,但是这样写在Viewholder很好用,你可以试试
解决方案四:
不同布局当然可以一样,如果不同的布局你互相潜入就会导致id重复,这时为了避免找错,最好指定是在哪个容器中找,就是xxx.findviewbyid
解决方案五:
看使用的场景以及你查找的方式。
加入2个layout不在一个activity中,那无论怎么使用都没关系,肯定不会乱套。
如果2个layout放到一个activity中了,是会引起混乱的,但这混乱也不是说一定会出现,只是可能。主要是在resume的时候会出现混乱,其他情况是没问题的。
在findviewbyid的时候,记得限定layout,通过layout.findviewbyid的方式查找对应布局下的textview
解决方案六:
那在两个文件中都用findViewById(R.id.tv); 既然R.id.tv所代表的id值一样,所获取到的控件却不一样,不说不过去么?
解决方案七:
当然可以重复id,只要在不同的布局文件中就行了
解决方案八:
不同XML文件定义同一个ID
时间: 2025-01-19 00:10:30