使用SharedPreferences保存RadioGroup状态

时间:2013-04-16 16:16:17

标签: android radio-button sharedpreferences radio-group

在我的设置活动中,我有一个带2个单选按钮的广播组,这些按钮提供不同的时间长度,我的应用程序将刷新(2分钟和5分钟)

我已经尝试过这样做,无论选择哪个按钮,都可以节省使用SharedPreferences指定的时间。

public void onCheckedChanged(RadioGroup arg0, int arg1) {
    switch(arg1){
    case R.id.radio0:
        savePrefs("2MINS", true);
        break;
    case R.id.radio1:
        savePrefs("5MINS", true);
        break;
    ...

    }
}

此处开关等待任何单选按钮被选中。 savePrefs:

private void savePrefs(String key, boolean value){
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    Editor edit = sp.edit();
    edit.putBoolean(key, value);
    edit.commit();
}

这里的保存首选项将radiobutton的值保存为true(至少我认为是这样)。

在我的onCreate方法中,我有一个“loadPrefs()”,它执行以下操作...

private void loadPrefs(){
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    boolean radio0 = sp.getBoolean("2MINS", false);
    boolean radio1 = sp.getBoolean("5MINS", false);
    if(radio0){
        freqSelection.check(R.id.radio0);
    } else if (radio1){
        freqSelection.check(R.id.radio1);
}

由于某种原因,当我点击一个单选按钮,然后转到另一个活动,然后重新打开设置活动时,它还没有保存我原来的选择?

0 个答案:

没有答案