如何在Android中获取Listview项目选择的计数

时间:2015-10-12 17:38:52

标签: android listview android-listview

我有一个ListView,我将其设置为我的适配器。 ListView项包含两个视图元素chekboxTextView

我已为setChoiceMode(ListView.CHOICE_MODE_MULTIPLE)提供ListView

当我想选择一个或多个元素时,我想得到计数(基于选择和取消选择)。

我无法在onItemClickListener的{​​{1}}中执行此操作。

所以我在BaseAdapter中编写了逻辑。

ListView

但如果我取消选择该项目,那么该值必须减少。如果我在holder.check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { count += 1; } }); 只有一个项目,那么我可以写

ListView

并获取Fragment中的值。只是我感到困惑。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

使用此功能。

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

确保count位于本地(或OnClickListener的块)范围内,以便每次单击某个按钮或其他内容时,count会重置并重新计算检查/取消选中的项目数。

如果您有更多问题,请告诉我们。)