2010-05-02 7 views
8

Ho una schermata delle preferenze per la mia applicazione e nel manifesto ho dato un tema utilizzando:schermi privilegiate nidificati perdono tematizzazione

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

Tuttavia quando ho nido un'altra schermata delle preferenze all'interno di questa, come:

<?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 schermata di nidificazione delle preferenze perde il tema del genitore. Come può essere prevenuto? Grazie in anticipo.

risposta

2

Appena incontrato questo problema.

Mentre il suggerimento nel bug report è quello di creare il proprio stile personalizzato e impostare lo sfondo listview, abbiamo trovato più facile creare un'attività separata per ogni schermata di preferenza. Questo ci ha permesso di impostare Theme.Light su ogni schermata senza problemi.

Non è un ottimo problema, ma funziona.

+0

Come si procede al caricamento in un'attività separata per ciascuna schermata delle preferenze? Puoi indicarmi un esempio? – CodingWithoutComments

+0

Suppongo di dover usare addPreferenceFromIntent() Cercando di capire come farlo ora. – CodingWithoutComments