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.
- android cómo establecer el icono de la casilla de verificación en el derecho?
- Casilla de verificación desmarcada cuando hago scrolllistview en Android
- Android 5.0 hace que las casillas de verificación no seleccionadas sean invisibles cuando el fondo es blanco
- CheckBox se desactiva en desplazamiento en una vista de lista personalizada
- Android: Problemas con ListViews y CheckBoxes
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?
- ListView.getCheckedItemPositions no puede devolver elementos marcados en SparseBooleanArray
- Reiniciar el contador después de hacer clic en el botón
- Estilo de la casilla de verificación de Android
- Fila listView personalizada con casilla de verificación y marcas de verificación de ahorros en la rotación
- ListView de Android con casilla de verificación Eliminar / obtener ID de fila
- CheckBox Hacer la listaNo se puede hacer clic en el elemento
- Iniciar otra actividad si la casilla está marcada
- Error al inflacionar la clase android.widget.CheckBox
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"
- Biblioteca de diálogo de material – evita el despedir / cerrar el diálogo en la función de función onPositive
- Path-App como menú redondo en Android