在listview中添加复选框的问题

时间:2011-09-12 12:38:37

标签: java android listview

我在列表视图中添加了一个复选框,但我只能选中和取消选中复选框,但我无法选择列表项。如何克服这个问题?任何帮助都表示赞赏,并提前感谢...

我的代码就在这里

List<String> lst = dh.selectAll();
    lv = (ListView)findViewById(R.id.listView1);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list,R.id.textViewx,lst);
    lv.setAdapter(adapter);


    lv.setOnItemClickListener(this);

dh.selectall() - &gt;包含数据库中的项目列表; lv - &gt;列表视图已确定 我使用了数组适配器并确定了textview以在listview中输入项目 最后,我通过实现OnItemClickListener为listview提供了一个clicklistener。

2 个答案:

答案 0 :(得分:1)

没有这两行,列表将显示 复选框但无法检查/取消选中

ListView listView = getListView();
mainListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

答案 1 :(得分:0)

您应该使用多选列表视图。完美契合您的需求。这是一个很好的教程的链接:http://mubasheralam.com/tutorials/android/how-create-multiple-choice-list

更新1

listViewObj.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

如果列表视图中有可检查项目,则触摸项目将不会传递到项目。只是为了测试,将您的复选框设置为不可点击。 chkox.setClickable(false);并测试。点击次数将会传递到您的商品。

更新2

您应该将android.R.layout.simple_list_item_multiple_choice用于列表项。

List<String> lst = dh.selectAll();
lv = (ListView)findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                         android.R.layout.simple_list_item_multiple_choice, lst);

lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lv.setListAdapter(adapter);