Usa android.R.layout.simple_list_item_1 con un tema ligero
He aprendido que cuando se utiliza android:entries
con un ListView
, que utiliza android.R.layout.simple_list_item_1
como el diseño de un elemento de la lista y android.R.id.text1
como el ID de la TextView dentro de ese diseño. Por favor, corregirme si estoy equivocado.
Sabiendo esto, quería crear mi propio adaptador, pero usar los mismos recursos de diseño, con el fin de proporcionar consistencia de interfaz de usuario con la plataforma. Así, probé lo siguiente:
mAdapter = new SimpleCursorAdapter( getApplicationContext(), android.R.layout.simple_list_item_1, mSites, new String[] { SitesDatabase.KEY_SITE }, new int[] { android.R.id.text1 } );
Por desgracia, porque estoy usando un tema ligero (tengo android:theme="@android:style/Theme.Light"
en mi <application>
), los elementos de la lista aparecen con texto blanco, haciéndolos ilegibles.
Sin embargo, al usar android:entries
para especificar una lista estática de elementos, los elementos aparecen correctamente, con el color de texto negro.
¿Qué estoy haciendo mal? ¿Cómo puedo hacer que mi adaptador dinámico use el diseño estándar pero funciona con un tema ligero?
Por favor, corregirme si estoy equivocado.
Al menos estás equivocado. Utiliza com.android.internal.R.layout.simple_list_item_1
. Mientras que es casi idéntico a android.R.layout.simple_list_item_1
, puede ser temática diferente.
Además, nunca utilice getApplicationContext()
. Sólo usa tu Activity
como Context
. Vea si eso ayuda.