Estoy tratando de vincular los datos de mi SQLiteDatabase
a un ListView
. Actualmente estoy usando un SimpleCursorAdapter
para completar mi ListView
. Lamentablemente, esto no parece funcionar con la configuración de un atributo comprobado de CheckBox.Android: ¿enlazar datos de una base de datos a un CheckBox en un ListView?
Así es como lo hago ahora; en lugar de cambiar el estado verificado de CheckBox, el adaptador está rellenando el valor del argumento de texto, por lo que el valor se muestra a la derecha de CheckBox como texto.
Java:
setListAdapter(new SimpleCursorAdapter(this,
R.layout.mylist,
data,
new String[] { Datenbank.DB_STATE, Datenbank.DB_NAME },
new int[] { R.id.list_checkbox, R.id.list_text }
));
mylist.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<CheckBox android:text=""
android:id="@+id/list_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
></CheckBox>
<TextView android:text=""
android:id="@+id/list_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
></TextView>
</LinearLayout>
Editar: El campo en la base de datos es, por supuesto, de tipo lógico y también he intentado asignar un id al comprobar campo para completar el valor.
¿Podría darme un ejemplo, porque soy muy nuevo en la programación de Android y todavía no he visto algo como esto? – svens
Claro, déjame cavar algo y lo publicaré. – MattC
¡Gracias! Funcionó. Parece que no hay función getBoolean() ;-). Ahora estoy usando cbListCheck.setChecked ((cur.getInt (cur.getColumnIndex (Datenbank.DB_STATE)) == 0? False: true)); que hace el truco. – svens