【发布时间】:2013-07-27 09:03:58
【问题描述】:
我有一个可滚动的列表视图,每行有 2 个文本视图、3 个图像按钮和 1 个复选框。
在 listView 的 Header 中,我在包含 listView 的所有复选框的列上方有一个删除按钮。
当通过滚动 listView 随机检查 2 个或多个复选框时,我必须执行 listView 中对象的删除操作,然后单击顶部的删除按钮。
但问题是我没有得到所选复选框的正确位置。此外,有时我得到正确的位置,但要删除的对象仍然是错误的。因此,可能由于列表的滚动性质,整个功能都会受到影响。
我是否应该在适配器类的持有者中占据一席之地,并将选中或未选中复选框的状态与我的对象绑定。
我应该使用 checkBox.setOnCheckedChangeListener() 还是 deleteButton.setOnClickListener()。 如果我使用后一种,那么如何在按下删除按钮之前获取列表中所有对应的复选框被选中的对象? 以及所有相关的代码应该放在哪里……在 listAdapter 类中还是在 Activity 中?
请帮我找到解决这个问题的办法..
【问题讨论】:
-
这是一个经典的 ListView 问题,在这里已经多次讨论过。请更好地使用搜索。