我正在做基于测验的应用。
所以我每个问题都有近50个问题和4个选项(无线电组)。 我的问题在于共享偏好。
我已将用户的答案存储在共享的权限中,当我转到下一个问题时,来到以前的问题即可获得用户在共享权限中的答案,但是如果我再次回到过时的问题我没有得到那个问题答案..对于例如)如果我回答9个问题并且来到8个问题即时得到这个答案,我再次来到7或6或5个问题我没有得到这些答案。
我做错了什么?怎么做?
提前致谢....
btn_practicerg.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId){ RadioButton radioButton = (RadioButton)group. findViewById(checkedId); String temp = radioButton.getText().toString(); SharedPreferences settings =PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); SharedPreferences.Editor editor = settings.edit(); editor.putString("option", temp); // here temp is the value you want to save editor.commit(); } });
点击上一个btn
ImageView previousbtn1 = (ImageView) findViewById(R.id.prv_btn); previousbtn1.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); String optionprev = settings.getString("option",""); } });
我试试这个..
答案 0 :(得分:0)
因为您要将所有答案保存在option
的同一共享首选项变量中,所以您必须使用问题编号保存它:如下所示:
int numberOfQuestion = //your question's number;
String optionNumber = "option"+numberOfQuestion;
optionNumber
变量必须是这样的:
option1
option2
...
问题50的 option50