2013-04-12 66 views
0

我在做基于测验的应用程序。如何检查存储在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",""); 
     } 
     }); 

我尝试这样的..

+0

我会建议你使用sqllite数据库。它是更好的解决方案。看到这个(http://www.vogella.com/articles/AndroidSQLite/article.html)sqllite在android –

+0

我使用JSON从服务器数据库检索数据... –

回答

0

,因为你是保存所有答案S IN变量相同的共享偏好是option,你必须把它与问题像这样的电话号码存入:

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

optionNumber变量是这样的:

option1问题1

option2问题2

...

option50问题50

+0

我不明白你的答案。我'm new to android ..请引导我.. –

+0

您正在保存您的答案在'选项'的保存变量中,所以每次您写入OVER之前的值'option' –

相关问题