如何保持切换按钮的状态,就像我们按下按钮1然后它会记住按钮1的开启状态,并且不允许我们按下按钮2,反之亦然。 请帮我解决这个问题。
答案 0 :(得分:0)
试试这个。
声明变量
ToggleButton mToggleOne;
ToggleButton mToggleTwo;
在onCreate
mToggleOne = (ToggleButton) findViewById(R.id.toggle_button1);
mToggleTwo = (ToggleButton) findViewById(R.id.toggle_button2);
SharedPreferences spref = getSharedPreferences();
if(spref.getBoolean("one", false)) {
mToggleOne.setChecked(true);
mToggleTwo.setEnabled(false);
} else if(spref.getBoolean("two", false)) {
mToggleTwo.setChecked(true);
mToggleOne.setEnabled(false);
}
mToggleOne.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mToggleTwo.setEnabled(!isChecked);
getSharedPreferences().edit()
.putBoolean("one", isChecked)
.apply();
//other code
}
});
mToggleTwo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mToggleOne.setEnabled(!isChecked);
getSharedPreferences().edit()
.putBoolean("two", isChecked)
.apply();
//other code
}
});