我的程序界面是这样的:(不使用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应该是系统自动管理的.急求方法.感激不尽.

解决方案 »

  1.   

    Layout.addView(View child, int index)
    这个index是用来索引LinearLayout1下所有children的,所以LinearLayout2也占用一个位置,而不是所有checkbox。
    你自己设置的index必须要进行管理的,有增删操作都要对index做更新。
      

  2.   

    那要很麻烦的啊 android只能这样吗? 他没有一个UI管理吗? remove用index都可以,那说明后台应该有东西去管理index的 怎么就获取不到的 自己更新index感觉太麻烦 动态加载的东西太多 添加删除的数次也很多 都要自己更新 那真不强大了...
      

  3.   

    3楼大哥 能否详细说明?事件我当然是有的 就是怎么去获取界面元素的index啊
      

  4.   

    集成checkbox,构造方法添加个 int属性?