Tengo una lista simple para completar desde la base de datos junto con una casilla de verificación. Necesito un identificador para todas las casillas de verificación seleccionadas. Cuando se presiona el botón CLEAR en ese punto, necesito los identificadores de fila de todas las casillas de verificación seleccionadas para eliminarlos. Para ello: Mi archivo list.xml se ve así:Lista de Android y casilla de verificación
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/clearselected"
android:text="CLEAR"
android:clickable ="false"/>
</LinearLayout>
y mi data_entry.xml se parece a esto:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="50px"
android:layout_y="22px"></CheckBox>
<TextView android:text="@+id/EntryText"
android:id="@+id/EntryText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/blue"/>
</LinearLayout>
Ahora: Tengo archivo list.java donde estoy poblando el lista de la siguiente manera:
private void populateList() {
Cursor c = db1.getAllList();
String[] fields = new String[]{db1.get_data()};
SimpleCursorAdapter cursorAdapter = new
ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.data_entry, c,
fields, new int[] {R.id.EntryText});
setListAdapter(adapter);
}
Ahora ¿Por dónde dar el mango a la causa heckbox en otro sitio que me daría una excepción nulo como data_entry contiene las casillas de verificación. Además, ¿necesito un oyente para manejar el estado de la casilla de verificación? Estoy atascado en este momento sin ninguna pista ...
Gracias, eso es lo que no consideré. Bueno, tengo otra pregunta para eso ahora. En mi caso, tengo el cursor como se muestra a continuación: private String [] campos estáticos; Cursor c = db1.getAllList(); setListAdapter (nuevo ArrayAdapter (esto, android.R.layout.simple_list_item_multiple_choice, fields)); final ListView listView = getListView(); \t listView.setItemsCanFocus (falso); listView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE); ¿Cómo obtengo los valores en fields array del cursor? Al usar el adaptador de cursor simple, ¿estaba pasando el cusror allí? Gracias Prerna –
Prerna
Gracias! Realmente me ha ayudado mucho. Tuve el mismo problema. Pero ahora sé cómo hacer esto. –