Android的include中,怎么获取不同include中的相同布局中的控件id

Android的include中,怎么获取不同include中的相同布局中的控件id

问题描述:

比如,我的layout.xml中只有一个ImageButton
在另一个tablelayout.xml中通过include调用layout。xml
但是我想在activity中获取不同include中的imageButton的ID

系统不会管你在layout中声明了多少个相同ID的View的,通过findViewByID查找控件时,它只关注子View内是否有符合ID的View,其他同ID的View它不会管。

根据容器类View的findViewByID来获取就行了,tablelayout中的就先找到tablelayout的View,通过这个View的View的findViewByID方法获取,其他的同理。

拿不到,相同控件ID,只会拿到一个view。你可以试一下在include时的id取一个新的名字,然后获取到这个新include id view后,再然再在这个view里,
查找你要的ImageButton。还不行的话,可以试一下遍历,所有的view,再对比出你想要的ImageButton来。