2010-05-02 3 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

Просто столкнулся с этой проблемой.

Хотя предложение в отчете об ошибке состоит в том, чтобы создать свой собственный стиль и установить фон списка, нам было легче создать отдельное действие для каждого экрана предпочтений. Это позволило нам установить Theme.Light на каждый экран без проблем.

Не очень хорошо, но это работает.

+0

Как мне выполнить загрузку в отдельном мероприятии для каждого экрана предпочтений? Можете ли вы указать мне пример? – CodingWithoutComments

+0

Я предполагаю, что мне нужно использовать addPreferenceFromIntent() Попытка выяснить, как это сделать сейчас. – CodingWithoutComments