我有2个复选框,我使用sharedPreferences保存它们,但是,如果选中了另一个复选框,则需要取消选中一个复选框。
我的代码:
public static CheckBox checkHolyPaiges, checkDefault;
public static boolean checkHolyPaiges2, checkDefault2;
checkDefault = (CheckBox) findViewById(R.id.checkDefault);
checkHolyPaiges = (CheckBox) findViewById(R.id.checkHolyPaiges);
final SharedPreferences prefs = getSharedPreferences("game", MODE_PRIVATE);
if (checkHolyPaiges.isChecked())
{
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("checkHolyPaiges", true);
editor.apply();
checkDefault.setChecked(false);
}
if (checkDefault.isChecked())
{
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("checkDefault", true);
editor.apply();
checkHolyPaiges.setChecked(false);
}
checkHolyPaiges2 = prefs.getBoolean("checkHolyPaiges", false);
checkDefault2 = prefs.getBoolean("checkDefault", true);
最佳答案
您应该在此问题上使用单选按钮。
我认为,单选按钮比复选框更适合处理此问题
https://developer.android.com/guide/topics/ui/controls/radiobutton