2010-01-08 8 views
61

Estoy desarrollando mi primera aplicación para Android y me gustaría crear una pantalla de configuración.¿Usar un ListView para crear una pantalla de ajustes en Android?

Me gustaría que la pantalla tenga un aspecto similar a las pantallas nativas de configuración del teléfono y la pantalla nativa "crear/editar alarma". Así, con diferentes tipos de elementos (estáticamente definidos) apilados verticalmente con una delgada línea entre ellos.

¿Cómo puedo definir dicha pantalla?

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

Respuesta

120

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

El más obvio es PreferenceActivity.

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

Lo mejor que se puede hacer es mirar la aplicación API Demos provista con la API de Android. Esto contiene muchos buenos ejemplos de preferencias de manejo. Aquí está how it creates preferences from code y aquí está a sample preferences XML file. Hay otros ejemplos que muestran cosas más avanzadas como las dependencias de preferencia y los oyentes de preferencia.

+1

Gracias! Me perdí esa. – Tomas

+0

Muy bien, gracias! – Kon

+2

Las preferencias del enlace de código deben actualizarse a: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/preference/PreferencesFromCode.html – beetstra

2

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

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

Editar alarma implementa PreferenceActivity, pero Crear Alarma es más complejo (adaptador de encargo del cursor para enumerar las alarmas).

Tener un vistazo a la sources:

Cuestiones relacionadas