Как узнать, когда Android ListView заполнен

У меня есть дочернее Activity, которое содержит ListView. Это действие заполняется асинхронно из курсора SQLite. Элементы списка содержат TextView, RadioButton и обычную кнопку. XML показан ниже:

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

Мне нужно выполнить некоторую логику, чтобы определить, какой RadioButton выбран по умолчанию, и я не могу этого сделать, пока ListView уже не загружен. Проблема в том, что со всеми событиями, которые я пробовал до сих пор (onCreate, onPostCreate, onResume, onWindowFocusChanged), количество дочерних элементов ListView равно нулю. Я также пробовал использовать метод getView в классе ArrayAdapter, но этот метод вызывается несколько раз, и количество дочерних элементов ListView потенциально каждый раз различается, что приводит к неожиданным результатам. По-видимому, эти события срабатывают до того, как ListView завершит полное заполнение дочерними элементами.

Есть ли событие, которое я могу прослушать, или какой-либо другой способ определить, когда ListView завершил заполнение и все его дочерние элементы доступны должны быть изменены программно?

Спасибо!

13
задан mahdaeng 28 October 2010 в 02:13
поделиться