动态添加删除控件,用setTag()无法解决,求方法
我的程序界面是这样的:(不使用xml,纯Java代码)
树形
LinearLayout1
!--CheckBox1
!--CheckBox2
!--LinearLayout2
!--CheckBox3
!--CheckBox4
!--CheckBox5
类似这样的结构.
问题:
1.当我点击CheckBox4的时候怎么能得到它的index?在它的事件里怎么写?
这个index用于 Layout.addView(View child, int index)
刚才有前辈说用setTag()来标记,这个方法在简单情况下能行通,但是到复杂情况下就会出错.
比如CheckBox1和CheckBox2之间加个layout,CheckBox3和CheckBox4之间再加个layout,这个都是在点击CheckBox后动态加载的,假设我要删除CheckBox3和CheckBox4之间的layout,用index肯定要出错的.
求前辈指教下,有没有直接能取到我点击的CheckBox的index,不管前面有没有动态添加过别的控件或布局.
removeViewAt(index)都能依据index来删除,为什么就不能拿到index呢?这个index应该是系统自动管理的.急求方法.感激不尽.
[解决办法]
Layout.addView(View child, int index)
这个index是用来索引LinearLayout1下所有children的,所以LinearLayout2也占用一个位置,而不是所有checkbox。
你自己设置的index必须要进行管理的,有增删操作都要对index做更新。