Tengo una actividad secundaria que contiene un ListView. Esta actividad se completa de forma asincrónica desde un cursor SQLite. Los elementos de la lista contienen un TextView, un RadioButton y un botón normal. El XML se muestra a continuación:Cómo saber cuándo se completa una vista de lista de 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>
tengo que hacer algo de lógica para determinar qué RadioButton está seleccionado por defecto, y no puede hacerlo hasta que la ListView ya está cargado. El problema es que con todos los eventos que he intentado hasta ahora (onCreate, onPostCreate, onResume, onWindowFocusChanged), el conteo de niños de ListView es cero. También intenté usar el método getView en la clase ArrayAdapter, pero ese método se denomina múltiplos veces y el recuento de elementos secundarios de ListView es potencialmente diferente cada vez, lo que genera resultados inesperados. Aparentemente, estos eventos se inician antes de que ListView haya terminado de completarse completamente con sus elementos secundarios.
¿Hay algún evento que pueda escuchar, o de alguna otra manera, para determinar cuándo ListView ha terminado de completarse y tiene todos sus elementos accesibles para ser modificados mediante programación?
¡Gracias!
Gracias, elevine. Solo tengo que seleccionar uno de los RadioButton por defecto. Sin embargo, cuando trato de hacer eso, el ListView no parece tener elementos secundarios todavía. Entonces, necesito saber cuándo ListView está completamente lleno para poder entrar y seleccionar uno de los elementos de la lista. – mahdaeng
Mi punto es lo que quiere decir con "ListView está lleno" no está claro. Si con eso quiere decir que todos los elementos de la lista son visibles, es posible que esa condición nunca suceda debido a la forma en que ListView representa las filas. – elevine
Sí, eso es exactamente lo que quiero decir. :^( – mahdaeng