Lista de casillas de verificación de Android seleccionar todo (desactivar / habilitar)

Quiero desactivar / activar todas las casillas de verificación en lista. De hecho, desea obtener seleccionar todo el comportamiento haciendo clic en la checkbox superior.

Gracias

Esto es lo que finalmente funcionó para mí, donde estoy usando un adaptador de cursor, no solo un ArrayListAdapter para mis elementos de lista:

 final ListView list = getListView(); for ( int i=0; i< getListAdapter().getCount(); i++ ) { list.setItemChecked(i, true); } 

list.getChildCount no funciona porque solo parece contar lo que se ha extraído inmediatamente (no todo lo que está fuera de la pantalla), entonces childCount podría tener solo 6 u 8 elementos cuando toda la lista childCount 100 o más elementos. Además, como tuve que usar list.setItemChecked para obtener los elementos para 'mantenerse marcada', al menos en mi caso, donde los elementos de mi lista eran instancias de CheckedTextView .

 for(int i=0; i < listView.getChildCount(); i++){ RelativeLayout itemLayout = (RelativeLayout)listView.getChildAt(i); CheckBox cb = (CheckBox)itemLayout.findViewById(R.id.MyListViewCheckBox); cb.setChecked(true); } 

Necesitará editar este código para manejar habilitar y deshabilitar, ¡pero espero que entienda la idea!

Además, esto solo verifica cada checkbox, asegúrese de devolver una identificación o un objeto de su lista para enviar / guardar los datos en otra parte.

Creo que deberías ejecutar esta tarea de larga ejecución fuera del hilo de UI. Cuando haces clic en el botón OnClickListener:

 new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < list.getAdapter().getCount(); i++) { final int position = i; mHandler.post(new Runnable() { @Override public void run() { list.setItemChecked(pos, true); } }); } } }).start(); 

y en onCreate ():

 this.mHandler = new Handler(); 

Cada elemento en la vista de lista debe ser Checkable como CheckableRelativeLayout que implementa la interfaz Checkable.

solo agrega un parámetro más en el adaptador como

 Boolean Ex.MyAdapter adapter = new Save_Weight_Adapter(this, R.layout.layoutname, array, false); listview.setAdapter(adapter); 

en seleccionar todo botón haga clic en oyente agregar este código

 MyAdapter adapter = new Save_Weight_Adapter(this, R.layout.layoutname, array, true); listview.setAdapter(adapter); 

y check in adpater

 if(chk) { blue_check.setVisibility(View.VISIBLE); } else { blue_check.setVisibility(View.GONE); }