android - Radiogroup 值不会保存在 android 的 sharedpreference 中

标签 android radio-button

我想在我的第二个 Activity 中检查单选按钮值。 我还使用了 RadioGroup 和 sharedpreference。

但第一个 Radiobutton 值在我的第二个 Activity 中获得。所以 sharedpreference 不保存单选按钮值。

请出示此代码并帮助我如何获得?

 rg = (RadioGroup) findViewById(R.id.radiotype);    

         rbtn=((RadioButton)rg.findViewById(getSelectedValue()));
         if(rbtn!=null){
                rbtn.setChecked(true);
            }
         rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {

                savePreferences(RemainderType_Toggle, checkedId);

            }
        });
    }   

private void loadSavedPreferences() {

        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);

         TypeToggleValue = sharedPreferences.getInt(RemainderType_Toggle,     R.id.radionoti);


        if (TypeToggleValue == R.id.radionoti) 
        {
            rbtn.setChecked(true);
        } 
        else 
        {
            rbtn.setChecked(false);
        }       
    }   

    private int getSelectedValue(){
        SharedPreferences pref=PreferenceManager.getDefaultSharedPreferences(this);
        return pref.getInt(RemainderType_Toggle, -1);
    }
    private void savePreferences(String key, int value) {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);
        Editor editor = sharedPreferences.edit();
        editor.putInt(key, value);
        editor.commit();
    }

SecondAcityvity.java

在这里我想要选定的单选按钮值。

SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(context);      

        TypeToggleValue = sharedPreferences.getInt(RemainderType_Toggle,     R.id.radioalarm);

        Log.d("TypeToggleValue", String.valueOf(TypeToggleValue));

最佳答案

您不需要在引用您的RadioGroup 时引用您的RadioButton。只需您无需引用即可访问它。

改变你的底线

 rbtn=((RadioButton)rg.findViewById(getSelectedValue()));

如下

 rbtn=(RadioButton)findViewById(R.id.radioButton);

关于android - Radiogroup 值不会保存在 android 的 sharedpreference 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22317516/

相关文章:

android.os.FileUriExposedException : file:///storage/emulated/0/test. txt 通过 Intent.getData() 暴露在应用程序之外

java - 如何在安卓平板电脑的屏幕上显示鼠标光标?

android - 不清楚 sp 是如何工作的(缩放像素)

jquery - 如何设置动态下拉列表的选定值

javascript - 图像作为单选按钮

react-native - 自定义单选按钮在 native react 中不起作用

javascript - 问题解决,单选按钮在文本框上添加值。改进方案

java - Android < 5.0 (Lollipop) 中存在 TLSv1.2 问题的套接字握手

html - 如何更改单选按钮悬停颜色

java - 在 Android 中正确实现 PagerAdapter