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.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.