Android 7之前版本中的SwitchPreference始终处于关闭状态

Android 7之前版本中的SwitchPreference始终处于关闭状态,android,xml,switchpreference,Android,Xml,Switchpreference,我正在扩展PreferenceFragmentCompat,在onCreatePreferences方法中,使用addPreferencesFromResource(R.xml.preferences)设置首选项 在Android 6.X之后的设备上,一切都像预期的那样工作。在安卓6和pre-6的设备上,开关总是关闭的,如果单击开关,开关也不会改变,甚至不会以编程方式改变,但会触发更改侦听器 你知道问题是什么吗 编辑:如果我将UI元素更改为CheckBoxPreference,那么即使在Andr

我正在扩展
PreferenceFragmentCompat
,在
onCreatePreferences
方法中,使用
addPreferencesFromResource(R.xml.preferences)
设置首选项

在Android 6.X之后的设备上,一切都像预期的那样工作。在安卓6和pre-6的设备上,开关总是关闭的,如果单击开关,开关也不会改变,甚至不会以编程方式改变,但会触发更改侦听器

你知道问题是什么吗

编辑:如果我将UI元素更改为
CheckBoxPreference
,那么即使在Android 6和pre-6中,一切都按预期工作。此外,在我开始使用
androidX
之前,
SwitchPreference
也起了作用

Edit2:通过以下方法发现
开关视图
开关首选项
中为

@覆盖
BindViewHolder上的公共无效(首选ViewHolder){
super.onBindViewHolder(持有人);
View switchView=holder.findviewbyd(AndroidResources.ANDROID\R\u SWITCH\u小部件);
syncSwitchView(switchView);
syncSummaryView(保持架);
}
这会导致在
syncSwitchView
方法中不更改UI。

使用而不是SwitchPreference应该可以解决问题

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <SwitchPreference
        android:defaultValue="true"
        android:key="disableAppWhenObscured"
        android:title="@string/screen_settings_block_app_when_obscured" />

</PreferenceScreen>
implementation "androidx.preference:preference-ktx:1.0.0"