获取android ListView中所选项目的数量

时间:2010-10-09 15:59:24

标签: android listview

我的Android应用程序中有一个多选ListView。我需要知道的是我选择的列表中有多少项。

3 个答案:

答案 0 :(得分:6)

使用ListView的getCheckedItemCount()。这直接给你一个int。

答案 1 :(得分:3)

我找到了解决方案。 getCheckedItemPositions()将创建一个SparceBooleanArray。所以只计算那个数组中真实的元素。

示例:

SparseBooleanArray positions = theListView.getCheckedItemPositions();
int counter = 0;
if (positions != null) {
    int length = positions.size();
    for (int i = 0; i < length; i++) {
        if (positions.get(positions.keyAt(i))) {
            counter++;
        }
    }
}

答案 2 :(得分:2)

我们可以直接使用keyAt,而不是使用get后跟valueAt

SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
int count = 0;
for (int i = 0, ei = checkedItemPositions.size(); i < ei; i++) {
    if (checkedItemPositions.valueAt(i)) {
        count++;
    }
}