У меня есть дочерняя активность, которая содержит 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 завершено и все ли его дочерние элементы доступны для изменения программным способом?
Спасибо!