存储 Radiobutton int 值(Android Studio)

Store Radiobutton int value (Android Studio)

SCENARIO

一个单选组中有3个单选按钮,第一个单选按钮名称为“A”,第二个单选按钮名称为“B”,第三个单选按钮名称为“C”。

QUESTION

  1. 如何获取 int 值,如果我 select 第一个单选按钮那么它应该获得 2 的 int 值,同样如果我 select 第二个和第三个单选按钮然后它应该得到 5 和 6 的 int 值。

  2. 一旦我 select 任何单选按钮,它就会自动将 int 值保存在共享首选项中(例如,我选择第一个单选按钮,值“2”被存储)。

  3. 选择之后,我决定关闭应用程序并再次打开,看到第一个单选按钮仍然是 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();