ListView项目检查

时间:2014-07-13 17:29:03

标签: android android-listview

我所拥有的基本上是一个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();
      }
   }
}   

如何检查列表中是否未选择任何项目?

2 个答案:

答案 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)

如果您的列表视图的选择模式为SINGLE,则

mListView.getCheckedItemPosition()返回当前所选项目。

mListView.getCheckedItemPositions()返回所选选中项目的数组。

因此,在您的情况下,这是一个多选列表视图,这将有效。