如何从多选列表视图中获取所选项目
问题描述:
我正在使用一个数组适配器,并为此添加了一个字符串 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 */
}