Wie Sie wissen, wenn ein Android ListView-Steuerelement getan wird aufgefüllt

Ich habe ein Kind-Aktivität enthält eine ListView. Diese Aktivität wird asynchron aufgefüllt wird aus einer SQLite-cursor. Die list-Elemente enthalten eine TextView, ein RadioButton, und ein normaler Knopf. Der XML-Code wird unten dargestellt:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/rlCategoryListItemLayout" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content">
 <TextView android:id="@+id/tvCategoryListItemTitle" style="@style/uwLargeListItemLabelStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:singleLine="true" android:text="This is a test note title" />
 <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:gravity="center_vertical">
  <RadioButton android:id="@+id/rdoCategoryListItemSelect" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginRight="10dip" />
  <Button android:id="@+id/btnCategoryListItemDelete" android:background="@drawable/delete_red" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" />
 </LinearLayout>
</RelativeLayout>

Habe ich zu tun, etwas Logik, um zu bestimmen, welcher RadioButton ist standardmäßig aktiviert, und ich kann es nicht tun, bis die ListView ist bereits geladen. Das problem ist, dass alle Veranstaltungen, die ich bisher ausprobiert habe (onCreate, onPostCreate, onResume, onWindowFocusChanged), die ListView-Kind-count gleich null ist. Ich habe auch versucht, mit Hilfe der getView-Methode in der ArrayAdapter-Klasse, aber dass die Methode aufgerufen wird, mehrere Male, und die ListView-Kind zählen ist potenziell jedes mal anders, was zu unerwarteten Ergebnissen führt. Anscheinend sind die events feuern, bevor das ListView hat fertig komplett Auffüllen mit seine Kind-Elemente.

Gibt es ein Ereignis, ich kann es hören, oder auf eine andere Weise, um zu bestimmen, wenn das ListView-Steuerelement fertig Auffüllen und hat alle seine Kinder erreichbar zu sein programmgesteuert geändert werden?

Danke!

InformationsquelleAutor mahdaeng | 2010-10-28
Schreibe einen Kommentar