在我的设置活动中,我有一个带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);
}
由于某种原因,当我点击一个单选按钮,然后转到另一个活动,然后重新打开设置活动时,它还没有保存我原来的选择?