2012-10-03 12 views
13

Quando si imposta la modalità di selezione del mio ListView su più, mi sono imbattuto in questa costante introdotta nel livello 11 dell'API Android: CHOICE_MODE_MULTIPLE_MODAL. Il JavaDoc non mi ha aiutato fuori molto:Qual è la modalità di selezione della selezione modale?

public static final int CHOICE_MODE_MULTIPLE_MODAL

L'elenco consente scelte multiple in una modalità di selezione modale.

Che cos'è una modalità di selezione modale? Non riesco a trovarlo ora.

risposta

18

Viene utilizzato per attivare una modalità di azione (a.k.a., barra di azione contestuale) quando si utilizzano le barre di azione. Lo vedrai in app come Gmail: mentre inizi a controllare gli elementi nell'elenco, la barra delle azioni cambia da azioni a livello di attività generiche a operazioni da eseguire nell'elenco (ad es. Modifica etichette, cestino).

Come CHOICE_MODE_MULTIPLE, è necessario inserire il numero ListView da Checkable articoli. Quindi, una volta selezionati uno o più elementi, Android visualizzerà automaticamente la modalità di azione scelta, che è possibile configurare con le proprie azioni.

Ecco un progetto di esempio che illustra questo: https://github.com/commonsguy/cw-omnibus/tree/master/ActionMode/ActionModeMC

+0

Che cosa si intende per il popolamento del ListView da 'articoli Checkable'? Nel tuo esempio, non è popolato da 'String's? – Maarten

+3

@Maarten: i dati del modello sono stringhe. Le * viste *, tuttavia, sono 'android.R.layout.simple_list_item_checked', che è un' CheckedTextView', che implementa l'interfaccia 'Checkable'. – CommonsWare

+0

c'è un modo per evitare la barra di azione contestuale? Ho provato a impostarlo su falso e poi non è apparso ma poi sembrava come se gli elementi non fossero stati selezionati da nessuno ... –

Problemi correlati