我为每个项目创建了一个带有CheckBox的简单ListView。
我希望用户选择一些项目。
用户如何从此ListView中获取选定的Items值并将其存储在例如ArrayList中?
ArrayList<String> tablesName = new ArrayList<>();
tablesName.add("one");
tablesName.add("two");
tablesName.add("three");
tablesName.add("four");
arrayAdapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_multiple_choice, tablesName);
var_tablesName_LV.setAdapter(arrayAdapter);
var_tablesName_LV.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
var_tablesName_LV.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
最佳答案
像这样全局定义一个列表:
public static List<String> selectedValue = new ArrayList<String>() ;
然后在OnItemClickListener中这样写:
var_tablesName_LV.setOnItemSelectedListener(new OnItemClickListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String clickedvalue =(String) adapterView.getItemAtPosition(i);
selectedValue.add(clickedvalue);
}
现在所有单击的值都存在于ListArray中,希望对您有所帮助!