J'essaye de lier les données de mes SQLiteDatabase
à un ListView
. J'utilise actuellement un SimpleCursorAdapter
pour remplir mon ListView
. Malheureusement, cela ne semble pas fonctionner avec la définition de l'attribut checked d'une CheckBox.
Voici comment je procède maintenant : au lieu de modifier l'état coché de la case à cocher, l'adaptateur remplit la valeur de l'argument texte, de sorte que la valeur s'affiche à droite de la case à cocher sous forme de texte.
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>
Edit : Le champ dans la base de données est bien sûr de type booléen et j'ai également essayé d'attribuer un id au champ coché pour remplir la valeur.