我所拥有的基本上是一个List,一个带有适配器的列表视图,一个sparcebooleanarray
和一个Button。
我使用simple_list_item_multiple_choice
作为适配器。
这是我到目前为止所得到的,但它只是告诉我选择了哪个项目:
@Override
public void onClick(View v) {
int count = adapter.getCount();
for(int i = 0; i < count; i++) {
if(array.get(i) == false) {
Toast.makeText(getApplicationContext(), "nothing is selected", Toast.LENGTH_SHORT).show();
} else if(array.get(i) == true) {
Toast.makeText(getApplicationContext(), "something is selected", Toast.LENGTH_SHORT).show();
}
}
}
如何检查列表中是否未选择任何项目?
答案 0 :(得分:1)
您可以使用一种方法来检查是否选择了非项目项目:
SparseBooleanArray array = mList.getCheckedItemPositions();
for (int i=0; i<array.size(); i++) {
if (array.valueAt(i)) {
String item = mList.getAdapter().getItem(array.keyAt(i)).toString();
Log.i(TAG,item + " was selected");
return false; //We found a selected item
}
}
return true; //We could not find any selected item
答案 1 :(得分:0)
mListView.getCheckedItemPosition()
返回当前所选项目。
mListView.getCheckedItemPositions()
返回所选选中项目的数组。
因此,在您的情况下,这是一个多选列表视图,这将有效。