2013-06-07 49 views
7

私は単純なチェックリストを表示しようとしましたが、チェックする項目が必要です。ここでAndroid ListView :: setItemCheckedが機能しません

は私のコード

ArrayAdapter<Task> taskAdapter = new ArrayAdapter<Task>(this, android.R.layout.simple_list_item_checked, tasksList); this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); this.getListView().setItemChecked(2, true); setListAdapter(taskAdapter);

<ListView 
    android:id="@android:id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

そして、まだ、それは動作しませんです。 Checkableインターフェイスの実装は役に立ちませんでした。

このListViewのトリックは何ですか?

+1

'setItemChecked()'の前にアダプタを設定しようとしてください。 – tbruyelle

答えて

14

項目をチェック可能に設定する前に、アダプタを設定する必要があります。

ArrayAdapter<Task> taskAdapter = new ArrayAdapter<Task>(this, android.R.layout.simple_list_item_checked, tasksList); 
setListAdapter(taskAdapter);   
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
this.getListView().setItemChecked(2, true); 

アダプタにはlistviewに格納されているデータが含まれているため、アダプタが設定されるまで、アイテム2はリストビューに存在しません。

関連する問題