Android 如何在可滚动列表视图中获得复选框的正确位置?

Android 如何在可滚动列表视图中获得复选框的正确位置?,android,android-listview,Android,Android Listview,我有一个可滚动的列表视图,每行有2个文本视图、3个图像按钮和1个复选框 在listView的标题中,我在包含listView所有复选框的列上方有一个delete按钮 当通过滚动listView随机选中2个或多个复选框时,我必须执行listView中对象的删除操作,然后单击顶部的删除按钮 但问题是,我没有得到所选复选框的正确位置。此外,有时我得到了正确的位置,但要删除的对象仍然是错误的。因此,整个功能可能由于列表的滚动性质而受到影响 我是否应该在适配器类的持有者中占有一席之地,并将选中或未选中复选

我有一个可滚动的列表视图,每行有2个文本视图、3个图像按钮和1个复选框

在listView的标题中,我在包含listView所有复选框的列上方有一个delete按钮

当通过滚动listView随机选中2个或多个复选框时,我必须执行listView中对象的删除操作,然后单击顶部的删除按钮

但问题是,我没有得到所选复选框的正确位置。此外,有时我得到了正确的位置,但要删除的对象仍然是错误的。因此,整个功能可能由于列表的滚动性质而受到影响

我是否应该在适配器类的持有者中占有一席之地,并将选中或未选中复选框的状态与我的对象绑定

我应该使用checkBox.setOnCheckedChangeListener()还是deleteButton.setOnClickListener()。 如果我使用后一种方法,那么在按下删除按钮之前,如何获取列表中复选框已选中的所有对应对象? 所有相关代码应该放在listAdapter类或活动中的什么位置


请帮助我找到此问题的解决方案。

尝试
getListView().setOnItemClickListener(新AdapterView.OnItemClickListener(){}
首先,在getView()方法中,您应该为每个复选框设置特定的标记。例如:
检查1.setTag(位置)
然后,您应该为复选框和删除按钮实现oncheckboxchangelister。正如您所知,onCheckBoxChangeListner的设置必须在getView()方法中。然后,您可以在getTag()的帮助下将复选框选中的列表位置添加到a ArrayList中onCheckedChanged()方法中的复选框方法。

不确定这与上述问题有何关系。这是一个经典的ListView问题,在这里已经讨论过多次。请更好地使用搜索。