0
Je veux essentiellement faire ce qui suit:Android - décochez une SwitchPreference quand elle a été activée?
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.setChecked(false);
ne semble pas exécuter, et le commutateur basculera pendant que displaySettingsDialog()
arrive. Comment puis-je contourner cela?
Essayez de mettre l'interrupteur en dehors de votre instruction if et utilisez 'setChecked (newVal)'. –
Je veux le mettre à false, cependant, et quand 'newVal' est vrai. – user2892437
Si vous voulez le mettre à l'opposé de 'newVal', faites' setChecked (! NewVal) ' –