Sto tentando di ricreare ciò che Google ha fatto con ListView nell'app Gmail. In particolare, vorrei che ogni elemento della lista includesse un CheckBox e due TextViews (uno sopra l'altro). Ho bisogno di ascoltatori per quando il CheckBox è selezionato (o cliccato) e quando viene cliccato su qualsiasi altro elemento della lista. Infine, mi piacerebbe che ActionBar riflettesse che gli elementi sono selezionati e fornisci opzioni come Seleziona tutto, Seleziona Nessuno, ecc. (Vedi this screenshot).ListView simile a Gmail con caselle di controllo (e utilizzando ActionBar)
Finora, ecco il layout mi è venuta.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<CheckBox android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal" />
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dp"
android:focusable="true"
android:clickable="true" >
<TextView android:id="@+id/titleTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" />
<TextView android:id="@+id/dateTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
Questa mostra tutto correttamente, ma ho bisogno di indicazioni su come impostare gli ascoltatori per le due viste (@ + id/CheckBox e @ + id/linearLayout1). Ho esaminato lo List16 API demo, ma stanno utilizzando il layout simple_list_item_activated_1 e non sono sicuro di quale sia l'XML per questo. Come suggerisce il loro codice, ho creato una classe ModeCallback che implementa ListView.MultiChoiceModeListener e imposto la modalità scelta di ListView su CHOICE_MODE_MULTIPLE_MODAL, ma non so come far funzionare il CheckBox nel mio layout.
Qualcuno ha copiato correttamente il comportamento di ListView dell'app Gmail? Ho cercato un bel po 'e non sono riuscito a trovare nulla (nonostante molti altri facessero domande simili, like this one - la maggior parte delle risposte puntava semplicemente su questa stessa demo API).
Inoltre, per il contesto, sto caricando i dati da un database SQLite nell'elenco e ho creato il mio adattatore Cursore (che funziona bene). Ho la sensazione che ho bisogno di impostare gli ascoltatori in questa classe nei metodi newView() e bindView(), ma tutto quello che ho provato non ha funzionato.
Qualche idea?
Devo spiegare meglio la mia domanda o sto chiedendo troppo? :/ – mturco