存储 Radiobutton int 值(Android Studio)
Store Radiobutton int value (Android Studio)
SCENARIO
一个单选组中有3个单选按钮,第一个单选按钮名称为“A”,第二个单选按钮名称为“B”,第三个单选按钮名称为“C”。
QUESTION
如何获取 int 值,如果我 select 第一个单选按钮那么它应该获得 2 的 int 值,同样如果我 select 第二个和第三个单选按钮然后它应该得到 5 和 6 的 int 值。
一旦我 select 任何单选按钮,它就会自动将 int 值保存在共享首选项中(例如,我选择第一个单选按钮,值“2”被存储)。
选择之后,我决定关闭应用程序并再次打开,看到第一个单选按钮仍然是 selected。
您可以获取 RadioGroup 的 CheckedId 并将其与每个 RadioButton 的 Id 进行比较,然后根据值的位置进行设置。
示例:
int value;
radioGroup.setOnCheckChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId){
if (checkedId == R.id.buttonA) {
value = 2;
} else if (checkedId == R.id.buttonB) {
value = 5;
} else {
value = 6;
}
}
将该值保存在您的首选项中,当您返回应用程序时,只需检查位置并执行 radioGroup.check();
SCENARIO
一个单选组中有3个单选按钮,第一个单选按钮名称为“A”,第二个单选按钮名称为“B”,第三个单选按钮名称为“C”。
QUESTION
如何获取 int 值,如果我 select 第一个单选按钮那么它应该获得 2 的 int 值,同样如果我 select 第二个和第三个单选按钮然后它应该得到 5 和 6 的 int 值。
一旦我 select 任何单选按钮,它就会自动将 int 值保存在共享首选项中(例如,我选择第一个单选按钮,值“2”被存储)。
选择之后,我决定关闭应用程序并再次打开,看到第一个单选按钮仍然是 selected。
您可以获取 RadioGroup 的 CheckedId 并将其与每个 RadioButton 的 Id 进行比较,然后根据值的位置进行设置。
示例:
int value;
radioGroup.setOnCheckChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId){
if (checkedId == R.id.buttonA) {
value = 2;
} else if (checkedId == R.id.buttonB) {
value = 5;
} else {
value = 6;
}
}
将该值保存在您的首选项中,当您返回应用程序时,只需检查位置并执行 radioGroup.check();