2012-02-23 57 views
0

我已经看到了大量支持列表中每个项目的复选框的样本,但这似乎与它们一样远。我的问题是我有两个相互作用的物品清单。带有CheckBox和可选项目的Android ListView

第一个列表显示方法语句 - 当用户选择方法语句时,第二个列表显示此方法语句的风险评估列表。我有这一切工作没有问题。

我现在需要扩展它,以便用户可以选择(通过复选框)他们想要使用的方法语句。这意味着我不希望选择listitem来设置或清除复选框,只需填充第二个列表框即可。然而,我确实需要用户能够手动检查项目以包含它。

任何建议,请大家欢迎 - 也许一个ListView不是正确的方式来做到这一点,也许是一个动态创建的滚动视图内的表?

回答

0

我会试试这种方式。

  1. 将ListView的选择模式设置为NONE。
  2. 使用TextView和CheckBox构建一个ViewGroup(线性/相对/框架布局)。它将 是一个ListView的单元格。
  3. 当您在适配器中绑定视图时,请在CheckBox上设置CompoundButton.OnCheckedChangeListener。将视图的位置放置在Integer中,并将其设置为单元格的标记(请记住:在具有视图的绑定数据中执行此操作)。

    private static class MyOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener { 
         @Override 
         public void onCheckedChange(...) { 
           Integer position = (Integer) view.getTag(); 
           //your logic with position 
         } 
        } 
    

或者只设置OnClickListener。

这个想法是:让CheckBox可点击并让它消耗点击事件 - 然后它的父代不会收到这个事件,并且AdapterView.OnItemClickListener不会被触发。

相关问题