¿Usando un ListView para crear una pantalla de configuración en Android?

2 minutos de lectura

avatar de usuario
Tomás

Estoy desarrollando mi primera aplicación para Android y me gustaría crear una pantalla de configuración.

Me gustaría que la pantalla tuviera un aspecto similar al de las pantallas de configuración del teléfono nativo y la pantalla nativa “crear/editar alarma”. Por lo tanto, con diferentes tipos de elementos (definidos estáticamente) apilados verticalmente con una línea delgada entre ellos.

¿Cómo defino esa pantalla?

Entiendo que puedo usar ListView, pero esto parece estar destinado principalmente a servir datos dinámicos usando un ListAdapter, donde cada elemento se sirve en el mismo formato. Parece ser posible crear diferentes elementos (es decir, algunos con casilla de verificación, algunos con dos líneas de texto, algunos con un icono) creando mi propio ListAdapter y anulando getView, pero esto parece una exageración. ¿Debo usar un ListView para este propósito?

avatar de usuario
david webb

No hay necesidad de crear y formatear manualmente un ListView – hay formas en la API para crear pantallas de preferencias.

La más obvia es PreferenceActivity.

Puede definir todas sus preferencias en un archivo XML, un poco como un diseño, y luego cargarlas con addPreferencesFromResource() o puede crear una serie de PreferenceScreen objetos en el código y llenarlos con Preference objetos de esa manera.

Lo mejor sería mirar la aplicación API Demos provista con la API de Android. Contiene muchos buenos ejemplos de gestión de preferencias. Aquí está cómo crea preferencias a partir del código y aquí está un archivo XML de preferencias de muestra. Hay otros ejemplos que muestran cosas más avanzadas como dependencias de preferencia y oyentes de preferencia.

avatar de usuario
bruyelle

En realidad, en la aplicación de alarma incorporada, por editar y crear alarmas, hay dos actividades, una para crear y uno para editar.

los Crear alarma actividad es la primera con el reloj digital. los Editar alarma La actividad se inicia haciendo clic en una alarma de la lista de la Crear alarma actividad.

Editar alarma implementos PreferenceActivitypero Crear alarma es más complejo (adaptador de cursor personalizado para listar las alarmas).

Echa un vistazo a la fuentes:

¿Ha sido útil esta solución?