如何在 AndroidX List Preference android 中应用全息主题?

问题描述

我需要在 Android X 列表首选项中应用 Holo 主题。我创建了自定义列表首选项并应用了全息主题,但它不起作用。

导入 androidx.preference.ListPreference;

public class ThemedListXPreference extends ListPreference
{
    private static int[] ATTRS = { android.R.attr.theme };
    private ContextThemeWrapper mContextWrapper;

    public ThemedListXPreference(Context context,AttributeSet attrs)
    {
        super(context,attrs);
        TypedArray a = context.obtainStyledAttributes(attrs,ATTRS);
        mContextWrapper = new ContextThemeWrapper(context,android.R.style.Theme_Holo);
        a.recycle();
    }

    @Override
    public Context getContext()
    {
        return mContextWrapper;
    }

}

public class MainXActivity extends PreferenceFragment {

   
    private static final String LIST_ETH = "list";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        addPreferencesFromResource(R.xml.interface_xsettings);
}
}

xml:

<com.example.audioplay.ThemedListXPreference
    android:key="list"
    android:title="@string/settings"
    android:summary="@string/settings"
    android:entries="@array/list_preference"
    android:entryValues="@array/value_list_preference"
    android:dialogTitle="@string/settings" />

当我在不使用 android x 列表首选项的情况下使用时相同,它可以工作,但我需要在 android x 列表首选项中实现 Holo 主题。请帮帮我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)