SwitchPreference 没有明显切换(没有颜色切换,没有动画)API >=23

问题描述 投票:0回答:0

所以我最近对我的应用程序做了一个小更新,旧 API(等于较低的 23)的用户抱怨 PreferenceSwitch 适用于逻辑,但没有明显的迹象表明它已被切换。超过 24 的 API 工作正常。

即使我预设了开关并重新加载片段,开关也没有明显设置。

我想修复这个问题,但我不知道为什么会出现这个错误。

我正在使用 takisoft preferencex 和 com.takisoft.preferencex.PreferenceFragmentCompat 但是快速更改为官方版本没有用,同样的行为

我在网上和 github 上搜索,但我找不到解决方案。

编辑:我刚刚在运行 API 23 的模拟器上安装了我的旧版本,但开关仍然无法正常工作。

我的代码的一小部分:

vib.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
           
                if (vibrate) {
                    SharedPreferences.Editor editor = sharedPref.edit();
                    editor.putBoolean("vibrate", false);
                    editor.commit();
                    editor.apply();
                    vibrate = sharedPref.getBoolean("vibrate", false);
                    vib.setChecked(vibrate);


                } else {

                    SharedPreferences.Editor editor = sharedPref.edit();
                    editor.putBoolean("vibrate", true);
                    editor.commit();
                    editor.apply();
                    vibrate = sharedPref.getBoolean("vibrate", false);
                    vib.setChecked(vibrate);

                }

            return false;
        }
    });
java android material-design androidx
© www.soinside.com 2019 - 2024. All rights reserved.