如何在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()