2010-05-02 78 views
8

我有一個偏好屏幕我的應用程序,並在清單中我已經給它使用一個主題:嵌套優先選擇屏幕輸主題化

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

然而,當我窩內另一首屏這樣一個如:

<?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> 

嵌套的首選項屏幕丟失父級的主題。這怎麼能被阻止?提前致謝。

回答

2

剛剛遇到了這個問題。

儘管bug報告中的建議是要創建您自己的自定義樣式並設置listview背景,但我們發現爲每個首選項屏幕創建單獨的活動更容易。這使我們可以將Theme.Light設置爲無任何問題的每個屏幕。

不是一個很好的修復,但它的工作原理。

+0

我該如何在每個首選項屏幕的單獨活動中加載?你能指點我一個例子嗎? – CodingWithoutComments 2010-11-13 00:57:12

+0

我猜我必須使用addPreferenceFromIntent()試圖找出如何做到這一點。 – CodingWithoutComments 2010-11-13 01:14:23