我目前正在为我的 Android 应用程序实现多选 ListView
。我的目标是在单击搜索按钮时从与 ListView
关联的 ArrayAdapter
中检索所选项目。
我目前对如何执行此操作感到困惑,我在网上找到了一些东西,例如尝试设置 MultiChoiceModeListener
,但这似乎不是 Eclipse< 中的一个选项
。我正在使用 Google API
s(级别 10),相当于 Android 2.3.3
。这是我到目前为止的代码:
public class FindPlace extends Activity {
public FindPlace() {}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_places);
Button search = (Button) findViewById(R.id.search);
String[] categories = getResources().getStringArray(R.array.Categories);
ArrayAdapter ad = new ArrayAdapter(this,android.R.layout.simple_list_item_multiple_choice,categories);
final ListView list=(ListView)findViewById(R.id.List);
list.setAdapter(ad);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { }
});
}
}
最佳答案
稍微更有效/正确:
SparseBooleanArray checked = listView.getCheckedItemPositions();
for (int i = 0; i < checked.size(); ++i)
{
if (checked.valueAt(i))
{
int pos = checked.keyAt(i);
doSomethingWith(adapter.getItem(pos));
}
}
关于android - 从多选 ListView 中检索选定的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9653319/