我的Android应用程序中有一个多选ListView。我需要知道的是我选择的列表中有多少项。
答案 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++;
}
}