0

我正在做基于测验的应用程序。

所以我有近 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","");
       }
         });

我试试这样。。

4

1 回答 1

0

因为您将所有答案保存在同一个共享首选项变量中option,所以您必须将其与问题的编号一起保存,如下所示:

int numberOfQuestion = //your question's number;
String optionNumber = "option"+numberOfQuestion;

optionNumber变量必须是这样的:

option1对于问题 1

option2对于问题 2

...

option50第 50 题

于 2013-04-12T09:14:18.890 回答