我在片段类中使用SharedPreferences
来存储我在其他活动中需要的R.id
个值RadioButton
。{一切都很好,有一个小的#34;但是"。
有六个RadioGroup
在场。如果我不按第一组中的按钮(即使是已选中的按钮),无论我在其他组中更改了什么,下次打开活动时都不会保存任何内容。如果我按下第一个Radiogroup
,则存储我更改的任何内容。
我甚至尝试检查代码中的按钮,但没有工作。
orientationID
是必须"更改"
片段内的onCreateView
声明
SharedPreferences settings = this.getActivity().getSharedPreferences(MY_PREFS, Context.MODE_PRIVATE);
initPrefs();
initPrefs()
:
private void initPrefs(){
if(settings.getBoolean("firstOrientationID", false)){
frg.check(R.id.button1);
}
else if(settings.getBoolean("secondOrientationID", true)){
frg.check(R.id.button2);
}
else frg.check(R.id.button3);
modeFL = settings.getInt("flMode", 2);
modeSL = settings.getInt("slMode", -1);
switch (modeFL){
case 1:
lessons.check(R.id.lesson1);
break;
case 2:
lessons.check(R.id.lesson2);
break;
case 3:
lessons.check(R.id.lesson3);
break;
}
if(settings.getBoolean("extraLesson", false)){
numGroup.check(R.id.lessons_five);
secLess.setVisibility(View.VISIBLE);
switch (modeSL){
case 1:
slessons.check(R.id.slesson1);
break;
case 2:
slessons.check(R.id.slesson2);
break;
case 3:
slessons.check(R.id.slesson3);
break;
}
}
else numGroup.check(R.id.lessons_four);
if(settings.getBoolean("specialYNID", false)){
spGroupYN.check(R.id.sp_yes);
specMult.setVisibility(View.VISIBLE);
}
else spGroupYN.check(R.id.sp_no);
if(settings.getBoolean("specialMultID", true)){
spGroup.check(R.id.sp_2x);
}
else spGroup.check(R.id.sp_1x);
}
当" Next"按下按钮离开活动
private void nextButton(){
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("extraLesson", num5.isChecked());
editor.putBoolean("firstOrientationID", addBtn.isChecked());
editor.putBoolean("secondOrientationID", addBtn2.isChecked());
editor.putBoolean("specialYNID", spyes.isChecked());
editor.putBoolean("specialMultID", sp2x.isChecked());
editor.putInt("flMode", modeFL);
editor.putInt("slMode", modeSL);
editor.commit();
}
我错过了什么吗?这是我第一次使用SharedPreferences
,我无法在网上找到任何相关信息。