2010-10-11 15 views
10

Używam ListView, w którym tylko jeden element może być sprawdzany na raz. To jest mój zwyczaj list_row.xml:Android: Jak mogę sprawdzić konkretny element w liście sprawdzonych?

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dip" 
    android:textColor="#FFFFFF" 
    android:textStyle="bold" 
    android:textSize="20sp" 
    android:checkMark="?android:attr/listChoiceIndicatorSingle" 
    /> 

ja zapełnić listę w onCreate() za pomocą zwykłego zasilacza tablicy:

ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, R.layout.list_row, strings); 
myList.setAdapter(myAdapter); 

Gdy wyświetlana jest lista, chcę mieć, powiedzmy, piąta pozycja na liście wygląda jak sprawdzona. Jak mogę to zrobić? Wiem, że funkcja CheckedTextView ma funkcję o nazwie setChecked(), ale w jaki sposób mogę pobrać mój 5. element z listy, aby zastosować tę funkcję?

Odpowiedz

18

Odnosząc inną odpowiedź w StackOverflow, znalazłem, że najprostszym sposobem osiągnięcia tego celu używa

myList.setItemChecked(pos, true); 

Tu można znaleźć rzeczywiste wątek: link

Powiązane problemy