Как получить выбранные элементы из списка выбора нескольких элементов - PullRequest
46 голосов
/ 04 января 2011

Я использую адаптер массива, и к этому добавляю список массивов строки s, список является множественным выбором, Как я могу получить значения элементов списка, по которым щелкнули?чтобы сделать это,

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) - это список массивов, как тогда извлечь выбранные элементы?

Ответы [ 12 ]

1 голос
/ 10 февраля 2013

КАК Я РЕШЕН ВОПРОС со вторым ArrayList:

  1. Создан второй экземпляр ArrayList
  2. Обновлен этот экземпляр ArrayList с НЕПРОВЕРЕННЫМИ элементами
  3. добавил его в мой listadapter

    public void removeSelectedItems(){
    
    updatedList = new ArrayList<String>(); //initialize the second ArrayList
    
    int count = lv.getCount();  //number of my ListView items
    SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions();
    for (int i=0;i < count;i++){
        if(!checkedItemPositions.get(i))
    
        updatedList.add(liveNames.get(i)); //liveNames is the current ArrayList     
        Log.e("TEST", liveNames.get(i));
    }
    
    adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_multiple_choice, updatedList);
    
    setListAdapter(adapter);}
    

Надеюсь, это будет полезно :)

1 голос
/ 23 апреля 2012

Я думаю, что другой вариант - просто отслеживать все это самостоятельно.

    list.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> listView, View selectedItem,
                int position, long itemId) {
            //Keep a reference here, and toggle a global variable.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...