2013-03-09 2 views
2

У меня есть список видов флажков, созданных приложением.получить список всех отмеченных ячеек в Listview

public void addCard(final String cardId){ 
    ListView listView1; 
    Lists movielist = new Lists(); 
    List<String> movies = new ArrayList<String>();  
    movies = movielist.movieList(); 

    listView1 = (ListView)findViewById(R.id.listView1); 

    listView1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, movies)); 
    listView1.setItemsCanFocus(false); 
    listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 



    listView1.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 


    CheckedTextView ctv = (CheckedTextView)arg1;   
    Toast.makeText(getApplicationContext(),ctv.getText().toString(), Toast.LENGTH_SHORT).show(); 
    //do your stuff in here!   
    } 
    }); 

    Button submit = (Button)findViewById(R.id.button1); 
    submit.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(),"", Toast.LENGTH_SHORT).show(); 

     } 
    }); 
} 

Теперь, когда ящик установлен, я могу поджарить текст, связанный с флажком. То, что я хотел бы сделать, - это тост, связанный со всеми полями, которые отмечены при нажатии кнопки submit.

В идеале мне бы хотелось, чтобы каждый из них был одним из патронов текста, связанного с флажком.

Cheers!

ответ

1

Проверенные виды возвращаются в SparseBooleanArray, поэтому вы можете использовать приведенный ниже код, чтобы получить ключ или значения. Нижеприведенный образец просто отображает выбранные имена в одной строке.

@Override 
public void onItemClick(AdapterView<?> adapter, View arg1, int arg2, long arg3) 
{ 

     SparseBooleanArray sp=getListView().getCheckedItemPositions(); 

    String str=""; 
     for(int i=0;i<sp.size();i++) 
     { 
      str+=movies.get(sp.keyAt(i))+","; 
     } 
     Toast.makeText(this, ""+str, Toast.LENGTH_SHORT).show(); 

} 

Я думаю, что это то, что вы хотите.

+0

Работал как очарование, спасибо! – Dandrews

+0

Добро пожаловать :) Рад, что это вам помогло :) – GrIsHu

Смежные вопросы