如何在Android中获取Listview项目选择计数
我有一个如何在Android中获取Listview项目选择计数,android,listview,android-listview,Android,Listview,Android Listview,我有一个列表视图,正在将其设置为我的适配器。ListView项包含两个视图元素,分别是chekbox和TextView 我已经为ListView提供了setChoiceMode(ListView.CHOICE\u MODE\u MULTIPLE) 当我想要选择一个或多个元素时,我想要获得计数(基于选择和取消选择) 我不能在ListView的onicmclicklistener中做这些事情 因此,我在BaseAdapter中编写了逻辑 holder.check.setOnClickListener
列表视图
,正在将其设置为我的适配器。ListView
项包含两个视图元素,分别是chekbox
和TextView
我已经为ListView
提供了setChoiceMode(ListView.CHOICE\u MODE\u MULTIPLE)
当我想要选择一个或多个元素时,我想要获得计数(基于选择和取消选择)
我不能在ListView
的onicmclicklistener
中做这些事情
因此,我在BaseAdapter中编写了逻辑
holder.check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count += 1;
}
});
但如果我取消选择该项,则该值必须减小。如果iam在列表视图中只有一项,则我可以编写
SparseBooleanArray checked = listView.getCheckedItemPositions();
并获取片段中的值。只是我弄糊涂了。有人能帮我吗?用这个
SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int count = 0;
for (int i = 0, ei = checkedItemPositions.size(); i < ei; i++) {
if (checkedItemPositions.valueAt(i)) {
count++;
}
}
// use count as you wish
SparseBooleanArray checkEditePositions=getListView().GetCheckEditePositions();
整数计数=0;
对于(int i=0,ei=checkedItemPositions.size();i
确保count
位于本地(或OnClickListener的块)范围内,以便每次单击按钮或其他内容时,count都会重置,并重新计算选中/未选中的项目数
如果您有更多问题,请告诉我:)也许您可以在这里找到答案:?使用getCheckedItemCount()?如何使用此getListView().getCheckedItemPositions();在my adapter?中,您可以传递ListView对象并直接访问,而不是使用getListView(),如myListView.getCheckedItemPositions()代码>