2010-05-02 7 views
8

que tienen una pantalla de preferencia por mi solicitud y en el manifiesto que han dado un tema usando:pantallas de preferencias jerarquizadas pierden tematización

android:theme="@android:style/Theme.Light.WallpaperSettings" 

Sin embargo, cuando el nido otra pantalla de preferencias dentro de éste, tales como:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" 
    android:title="@string/setting_title" 
    android:key="..."> 

    <PreferenceCategory 
    android:title="@string/title_themes" 
    > 

    <PreferenceScreen 
    android:title="@string/title_themes_opt" 
    > 

     <ListPreference 
    android:key="Setting_BG" 
    android:title="@string/setting_bg" 
    android:summary="@string/setting_bg_summary" 
    android:entries="@array/bg_titles" 
    android:defaultValue="0" 
    android:entryValues="@array/bg_values" /> 
    </PreferenceScreen> 

    </PreferenceCategory> 

</PreferenceScreen> 

la pantalla de preferencias anidada pierde el tema de los padres. ¿Cómo se puede prevenir esto? Gracias por adelantado.

Respuesta

2

acabo de encontrar con este problema.

Si bien la sugerencia en el informe de error es crear su propio estilo personalizado y establecer el fondo vista de lista, nos pareció más fácil de crear una actividad separada para cada pantalla de preferencias. Esto nos permitió establecer Theme.Light en cada pantalla sin problemas.

No

una gran solución, pero funciona.

+0

¿Cómo hago para carga en una actividad separada para cada pantalla de preferencias? ¿Puedes señalarme un ejemplo? – CodingWithoutComments

+0

Supongo que tengo que usar addPreferenceFromIntent() Tratando de averiguar cómo hacerlo ahora. – CodingWithoutComments

Cuestiones relacionadas