我正在创建一个ListView
的Android应用,我正在使用此行:
SparseBooleanArray checkedPositions = list.getCheckedItemPositions();
然后我想遍历数组,但只有在checkedPositions
数组中至少有一个值为真时才会迭代。
可以这样做吗?
答案 0 :(得分:3)
你做不到。但你可以做的是创建另一种方法,为你做到这一点。
public boolean containsTrueValue(SparseBooleanArray sparseBooleanArray) {
boolean containsBoolean = false;
for (int i = 0; i < sparseBooleanArray.size(); i++) {
if (sparseBooleanArray.valueAt(i) == true) {
containsBoolean = true;
break;
}
}
return containsBoolean;
}
答案 1 :(得分:1)
ListView
有一个getCheckedItemCount()
,因此您可以通过SparseBooleanArray
检查ListView
,而不是检查list.getCheckedItemCount() > 0
。所以,你可以查一下:
vector<MYdatatype> myVector;
答案 2 :(得分:0)
Java中的ArrayList类有方法包含。您可以将列表转换为arrayList并使用此方法。例如:
ArrayList<Boolean> array = new ArrayList();
array.add(false);
array.add(false);
array.add(false);
array.add(true);
array.add(false);
array.add(false);
boolean contains = array.contains(true);
如果执行此代码,包含变量将为true。