如何从ListView获取选定的项目值

时间:2018-12-25 14:30:24

标签: java android listview

我为每个项目创建了一个带有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) {

        }
    });




}

2 个答案:

答案 0 :(得分:1)

全局定义这样的列表:

 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中存在所有单击的值,希望对您有所帮助!。

答案 1 :(得分:1)

您可以在下面执行以下操作:-

      ThreeStrings your strings = (yourString)AdapterView.getItemAtPosition(position);