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>

嵌套的首选项屏幕失去了父级的主题。如何防止这种情况?提前致谢。

4

2 回答 2

6

这是 android 中的错误,请参阅错误报告

于 2010-08-17T17:15:19.707 回答
2

刚遇到这个问题。

虽然错误报告中的建议是创建您自己的自定义样式并设置列表视图背景,但我们发现为每个首选项屏幕创建单独的活动更容易。这使我们可以毫无问题地将 Theme.Light 设置到每个屏幕。

不是一个很好的修复,但它的工作原理。

于 2010-09-29T22:23:57.337 回答