如何从多选列表视图中获取所选项目

问题描述:

我正在使用一个数组适配器,并为此添加了一个字符串 s 的数组列表,该列表是多选的,如何获得单击的列表项的值?

I am using an array adapter and to this am adding an array list of string s , the list is multi select , How can i get the values of list items clicked ?

my_contacts_list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,conts_list);
  my_contacts_list.setAdapter(adapter);

我正在尝试这样做,

SparseBooleanArray positions = my_contacts_list.getCheckedItemPositions();
  int size=positions.size();
  int i=0;
  while(i <= size){
   conts_list.get(positions.get(i));
   i++;
  }

但是 position.get(i) 是一个数组列表,那么如何检索选中的项目?

But position.get(i) is an array list , how to retrieve the selected items then ?

SparseBooleanArray.get 返回一个布尔值,但我相信您需要针对列表中的每个位置检查它,例如

SparseBooleanArray.get returns a boolean, but I believe you need to check it for each position in your list, e.g.

int len = listView.getCount();
SparseBooleanArray checked = listView.getCheckedItemPositions();
for (int i = 0; i < len; i++)
 if (checked.get(i)) {
  String item = cont_list.get(i);
  /* do whatever you want with the checked item */
 }