取消选择复选框

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

我有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);
java android-studio checkbox sharedpreferences
1个回答
0
投票

您应该在此问题上使用单选按钮。

我认为,单选按钮比复选框更适合处理此问题

https://developer.android.com/guide/topics/ui/controls/radiobutton

© www.soinside.com 2019 - 2024. All rights reserved.