2011-02-28 6 views
18

私はListViewのクールな機能を使って、ListViewの項目の横にチェックボックスを表示しています。 リストを文字列の配列にバインドします。 onClickとonSelectedItemのリスナーがうまく呼び出されます。このようにして、 "string"のインデックスがチェックされている(またはチェックされていない)ことがわかります。Android ListView CHOICE_MODE_MULTIPLEさん、チェックされたインデックスを設定する方法は?

チェックしたすべての文字列を(カンマ連結文字列として)プリファレンスに格納しています。そのアクティビティが表示されるたびに、チェックされた項目をリストビューに戻したいと思います。

これを行う方法はありますか? CHOICE_MODE_MULTIPLEはチェックされた項目を設定できませんか?

注:表示したいのは文字列とチェックボックスだけなので、私はカスタム表示を使用していません。私はsetSelection(インデックス)を試しましたが、選択された(強調表示された)行だけを設定する必要があります。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,names); 
m_playlists_list.setAdapter(adapter); 
m_playlists_list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 

答えて

38

指定された位置のチェック状態を設定します

ListView

setItemCheckedメソッドを使用します。結果は、選択モードが CHOICE_MODE_SINGLEまたは CHOICE_MODE_MULTIPLEに設定されている場合にのみ有効です。

+2

私はそれを逃したと信じられない! list.setAdapter(アダプタ)の後にこのメソッドを呼び出すために追加するだけです。 – sosergio

関連する問題