Radiogroup值不会保存在android中的共享首选项中

时间:2014-03-11 05:53:11

标签: android radio-button

我想在第二次活动中检查radiobutton值。 我也使用RadioGroup和共享偏好。

但第一次Radiobutton值进入我的第二次活动。所以共享偏好不保存radiobutton值。

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

 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

这里我想要选择的radiobutton值。

SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(context);      

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

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

1 个答案:

答案 0 :(得分:0)

您无需在引用RadioButton时引用RadioGroup。只需您可以访问它而无需参考。

更改以下内容

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

如下

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