2013-06-07 14 views
7

Ich habe versucht, einfache überprüfte Liste zu zeigen, und ich brauche einige Elemente überprüft werden.Android ListView :: setItemChecked funktioniert nicht

Hier ist mein Code

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"> 

Und noch ist es nicht funktioniert. Die Implementierung der Checkable-Schnittstelle hat nicht geholfen.

Was ist der Trick dieses ListView?

+1

Versuchen Sie, den Adapter vor 'setItemChecked()' zu setzen – tbruyelle

Antwort

14

Sie müssen den Adapter einstellen, bevor Sie das Element als überprüfbar festlegen.

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); 

Der Adapter enthält die in der Listenansicht gespeicherten Daten so Punkt 2 nicht in der Listenansicht vorhanden ist, bis der Adapter eingestellt ist.

Verwandte Themen