Android 安卓-打开开关首选项后是否取消选中?

Android 安卓-打开开关首选项后是否取消选中?,android,switchpreference,Android,Switchpreference,我主要想做以下几点: switch.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { Boolean newVal = (Boolean) ne

我主要想做以下几点:

 switch.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                Boolean newVal = (Boolean) newValue;
                if (newVal && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(getApplicationContext())) {
                    switch.setChecked(false);
                    displaySettingsDialog(); 
                    return true;
                }

switch.setCheckedfalse;显示设置对话框发生时,不会执行,开关将打开。我该怎么做

解决方案是返回false;尝试将开关置于if语句之外,并使用setCheckednewVal,而不是true。不过,我想在newVal为true时将其设置为false。如果要将其设置为与newVal相反的值,请执行setChecked!那不是我想要的。