2013-04-12 4 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 в одних и тех же общих настройках переменной, которая option, вы должны сохранить его с номером вопроса Как это:

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

переменная optionNumber должна быть так:

option1 на вопрос 1

option2 на вопрос 2

...

option50 на вопрос 50

+0

Я не понимаю ваш ответ. I 'm new to android..please guide me .. –

+0

вы сохраняете свой ответ в переменной сохранения, которая является «option», поэтому каждый раз, когда вы пишете предыдущее значение 'option' –

Смежные вопросы