如何检查存储在sharedpreferences中的单选按钮值?

时间:2013-04-12 09:06:37

标签: android radio-button sharedpreferences

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

所以我每个问题都有近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","");
       }
         });

我试试这个..

1 个答案:

答案 0 :(得分:0)

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

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

optionNumber变量必须是这样的:

问题1的

option1

问题2的

option2

...

问题50的

option50