views:

230

answers:

4

I have a preference screen for my application and in the manifest I have given it a theme using:

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

However when I nest another preference screen inside this one such as:

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

The nested preference screen loses the theme of the parent. How can this be prevented? Thanks in advance.

A: 

Did you ever get an answer for this, I'm having the same problem. Seems like there are alot of bugs to take care of if you select themes other than the default one :(

Martin Wallgren
nope, its a bug and in android... hopefully it's fixed in froyo but I've not tried it yet.
stealthcopter
A: 

I'm facing the same problem. Unfortunately, it seems that this does not fixed in froyo.

Lee Hyung Jic
A: 

This is a bug in android see the Bug Report.

stealthcopter
+1  A: 

Just ran into this problem.

While the suggestion in the bug report is to create your own custom style and set the listview background, we found it easier to create a separate activity for each preference screen. This allowed us to set the Theme.Light to each screen with no issue.

Not a great fix, but it works.

Bonnarooster