Mam działanie podrzędne, które zawiera ListView. Ta aktywność jest asynchronicznie zapełniana kursorem SQLite. Elementy listy zawierają TextView, RadioButton i normalny Button. XML przedstawiono poniżej:Informacje o tym, kiedy zostanie utworzony listView systemu Android,
<?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>
muszę zrobić trochę logiki do określenia, które RadioButton jest domyślnie zaznaczona, a ja nie mogę tego zrobić, dopóki ListView jest już załadowany. Problem polega na tym, że przy wszystkich zdarzeniach, które wypróbowałem do tej pory (onCreate, onPostCreate, onResume, onWindowFocusChanged), liczba dzieci w ListView wynosi zero. Próbowałem również przy użyciu metody getView w klasie ArrayAdapter, ale ta metoda nazywa się często razy i liczba potomna ListView jest potencjalnie inna za każdym razem, prowadząc do nieoczekiwanych wyników. Najwyraźniej te zdarzenia są uruchamiane, zanim ListView zakończy się pełnym zapełnianiem elementów potomnych.
Czy jest jakieś wydarzenie, które mogę posłuchać, lub w inny sposób określić, kiedy ListView jest wypełniony i czy wszystkie jego dzieci są dostępne do modyfikacji programowo?
Dziękujemy!
Dzięki, elewacja. Muszę tylko wybrać jeden z RadioButtons domyślnie. Kiedy jednak próbuję to zrobić, ListView nie ma jeszcze elementów potomnych. Muszę wiedzieć, kiedy ListView jest w pełni zapełniony, więc mogę wejść i wybrać jeden z elementów listy. – mahdaeng
Moim celem jest to, co masz na myśli przez "ListView jest w pełni zaludniony" nie jest jasne. Jeśli przez to rozumiemy, że wszystkie elementy na liście są widoczne, to warunek ten nigdy nie może się zdarzyć z uwagi na sposób renderowania wierszy przez ListView. – elevine
Tak - właśnie o to mi chodzi. :^( – mahdaeng