Implementación correcta de cambiar los datos de ListView con CursorAdapter
Tengo un ListView poblado a través de un CursorAdapter. Le doy a mi usuario la posibilidad de alterar los datos de la lista. Por ejemplo, el usuario puede marcar una fila como no leída (los datos son mensajes).
Supongamos que mi usuario marcó una fila no leída. ¿Una correcta implementación marcaría la fila en la base de datos como leída y luego volvería a realizar la consulta al Cursor?
- Las propuestas de optimización para ListView con datos de múltiples "tablas"
- Cómo configurar los datos de ArrayList en ListView?
- Cómo obtener la miniatura de Android Contact
- Función de conversación de RecyclerView no bien
- Android ListView resalta el elemento mediante programación
- Refrescante adaptador al tirar de ListView en android
- Cómo obtener un problema al comprobar la casilla de verificación generada dinámicamente a través de la vista de lista
- ListView OnItemClick listner no funciona en fragmento
- ListView con elementos triangulares
- Infinite Auto Scroll ListView con velocidad de desplazamiento controlada
- ¿Cómo recuperar más de 1000 filas de Parse.com?
- Pinterest como Grid en Android
- Tratando de establecer una fuente personalizada para cada botón ListAdapter individual
¿Una correcta implementación marcaría la fila en la base de datos como leída y luego volvería a realizar la consulta al Cursor?
Sí, esa es la respuesta correcta. La requery()
activará una actualización automática de su CursorAdapter
, que activará una actualización automática de ListView
, que activará una sonrisa automática del usuario. Todos los derechos reservados
ACTUALIZAR
El método requery()
está obsoleto. Un mejor enfoque hoy en día es ejecutar una consulta para obtener un Cursor
fresco, luego use changeCursor()
o swapCursor()
en su CursorAdapter
.
Si el cursor es devuelto por un ContentProvider y el ContentProvider emite notificaciones correctas, el CursorAdapter se actualizará automáticamente, es decir, sin necesidad de emitir una consulta explícita ().
- Cómo aplicar zoom, arrastrar y rotar a una imagen en Android
- Expanda / contrae la animación en CardView