0 votos
Hola, Ramón:

no sé si recordarás pero estoy haciendo un programa en el que uso Fragments para unas pantallas lista/detalle. Hasta ahora he logrado que la parte de la lista funcione a mi gusto, en distintos tamaños de pantalla, volteando la pantalla, estoy muy contenta. Estoy usando SQLite para guardar mis datos, y estoy usando un SQLiteHelper y un ContentProvider para manejar las tablas. Me he entrampado en la parte del detalle. Entiendo que lo mejor del CursorLoader es que la información queda en memoria y se reaprovecha cuando vuelves a ingresar a la pantalla, pero me pregunto si se puede usar también para pintar el detalle, ya que seleccione de la lista debería poder tomar los datos para el detalle del mismo cursor que generé para llenar la lista, ¿se puede?.

Quise llenar mi detalle usando un adapter, como hice en la lista, pues entiendo que es la forma de hacerlo, pero todos los ejemplos de adapter que veo son para listas, y mi detalle no lo es, ¿debo usar un adapter para llenar una pantalla que no es una lista?, si es así, ¿como lo defino?, mi pantalla es un fragment, los adapters se definen para views, no logro entender este tema.

gracias infinitas por toda tu ayuda y orientación.

saludos,
Pilar
preguntado por Pilar Fernández Dic 22, 2014 en Android

1 Respuesta

0 votos
Mejor respuesta

Claro que me acuerdo Pilar :)

Vas muy bien con el listado, pero no mezclemos listado con detalle, cada cosa en su lugar.

Adapter es un patrón que se utiliza para adaptar interfaces diferentes, con lo que para listado viene estupendo, ya que tenemos que adaptar nuestra interfaz a la que nos da Android para dibuje nuestro listado. Ahora el detalle es mucho más fácil. Tan solo tienes que hacer otro Fragment con el detalle (como se explica en http://jarroba.com/fragments-fragmentos-en-android/). Lo recomendable es pasarle un id y luego buscar en la base de datos. Se hacen dos consultas a la base de datos, pero de esta manera independizamos lo más posible el Fragment del listado del de detalle.

A la pregunta de si se puede pasar todo desde el listado, por poderse se puede, pero tendrías que mantener en memoria todo los datos de todos los elementos del listado. Podría provocar fallos por falta de memoria. Por lo que se vuelve a dar un voto positivo a pasarle solo el id al detalle y que este se encargue de cargar lo que sea.

Para pasar datos entre un Fragment y otro, en el anterior artículo está explicado, también tenemos explicación en http://jarroba.com/libro-android-100-gratis/

respondido por Jarroba [Admin] Dic 22, 2014
Muchas gracias, Ramón, en verdad es muy bueno tener a alguien como tu que lo ayude a uno en estos temas.