Lista personalizada haciendo clic con las casillas de verificación

He poblado una ListActivity desde un Cursor utilizando SimpleCursorAdapter que inicia otra actividad cuando se ha hecho clic en uno de los elementos de la lista. También estoy usando ViewBinder para hacer alguna transformación personalizada de los datos.

Quiero agregar un CheckBox a cada fila en la lista así que he cambiado la vista y agregado un CheckBox con la derecha de la gravedad.

La adición de CheckBox ha eliminado la posibilidad de hacer clic en los elementos. El método onListItemClick que estaba anulando en ListActivity ya no se llama cuando se presiona en un elemento de lista. Eliminar el CheckBox corrige esto. ¿Por qué es esto?

Además, ¿cómo puedo configurar la lista para que continúe realizando mi funcionalidad requerida si se hace clic en la parte principal del elemento de lista pero se tiene funcionalidad adicional cuando se comprueba el CheckBox en el elemento? ¿Configurar un trabajo onCheckedChangedListener o es la misma instancia de vista reutilizada para cada elemento de la lista?

Como se explica aquí , el oyente de clics sólo funciona si no se puede focusable ninguna otra vista. Configurar su CheckBox a focusable="false" debería hacer el truco:

 <CheckBox android:focusable="false" /> 

Parece que SimpleCursorAdapter es demasiado primitivo para lo que quería lograr. He cambiado a implementar CursorAdapter y devolver una nueva vista usando LayoutInflater en mi implementación del método newView .

  public View newView(Context context, Cursor cursor, ViewGroup parent) { return LayoutInflater.from(context).inflate(R.layout.alarm_row, parent, false); } 

En bindView I, a continuación, establecer un personalizado OnClickListener a mi principal LinearLayout y, a continuación, otro OnCheckedChangeListener a la CheckBox .

Para que todo esto parezca correcto tuve que configurar el fondo de LinearLayout para el menuitem de android dibujable:

 android:background="@android:drawable/menuitem_background" 
  • Android Espresso - Haga clic en la casilla de verificación si no está marcada
  • Android Listview con hilandero y una casilla de verificación
  • Android: Problemas con ListViews y CheckBoxes
  • ¿Cómo guardar el estado de un Android CheckBox cuando los usuarios salen de la aplicación?
  • ListView de Android con casilla de verificación: desactiva automáticamente
  • Implementar android: button = "@ drawable / checkbox" por programa
  • Mantenimiento de los estados de la casilla de verificación en listview con CursorAdapter
  • Problema de casilla de verificación en la aplicación instalada en listview
  • Vista de lista de Android con el problema de la casilla de verificación
  • Cambiar colorControlActivated color programmically
  • Android Caja de selección Grupo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.