2012-06-16 38 views
7

Actualmente estoy trabajando en un proyecto de Android. Estoy usando un ListView y usando una barra de acción de contexto y estoy seleccionando con éxito cada elemento y mostrando un recuento de cuántos elementos se han seleccionado dentro de la vista de lista.Seleccionar todos los elementos dentro de ListView

Dentro de la barra de contexto tengo una opción de menú para Select All pero no sé cómo puedo asegurarme de que cada elemento dentro de la vista de lista esté seleccionado.

Parece que no puede encontrar nada en Google, cualquier cosa sobre este tipo de cosas y ListViews seleccionables parecen estar muy bien escondidas.

Cualquier ayuda sería muy apreciada.

Gracias

+0

¿Está utilizando un adaptador personalizado? un código que hiciste necesario? –

Respuesta

20

Puede comprobar los elementos de vista de lista uno por uno:

for (int i=0; i < listview.getAdapter().getCount(); i++) { 
    listview.setItemChecked(i, true); 
} 

Si sólo desea seleccionar lo que está en la pantalla, a continuación, utilizar listview.getChildCount().

Si está utilizando fragmentos, necesitará usar getListAdapter().getCount().

+4

'listView.getChildCount()' no funcionará, ya que solo devolverá los elementos dibujados actuales que podrían no ser todos los elementos de la lista que proporciona el adaptador. Use 'getListAdapter(). GetCount()' en su lugar. – VipulKumar

+2

¡VipulKumar tiene razón! También puede usar listview.getAdapter(). GetCount() cuando no utiliza el fragmento de lista. –

0

En Android, el diseño del elemento de vista de lista tiene muchos diseños predeterminados diferentes para seleccionar el elemento de la lista. Puede usar desde el diseño predeterminado o también puede crear su propio diseño para el elemento de la lista. Puede utilizar

Android.R.Layout.simple_list_item_multiple_choice

para seleccionar más de un elemento de la lista de la vista de lista. Para obtener más información, consulte esto link

Cuestiones relacionadas