【问题标题】:how to check the radio button value that stored in sharedpreferences?如何检查存储在 sharedpreferences 中的单选按钮值?
【发布时间】:2013-04-12 17:14:18
【问题描述】:

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

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

当点击上一个按钮时

     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","");
       }
         });

我尝试这样..

【问题讨论】:

标签: android radio-button sharedpreferences


【解决方案1】:

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

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

optionNumber 变量必须是这样的:

option1 用于问题 1

option2 问题 2

...

option50 第 50 题

【讨论】:

  • 您将答案保存在“选项”的保存变量中,因此每次您将option的先前值写入
猜你喜欢
  • 2017-11-19
  • 1970-01-01
  • 1970-01-01
  • 2022-07-20
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2012-03-08
  • 2017-03-19
相关资源
最近更新 更多