2
퀴즈 응용 프로그램을 개발 중입니다. 이전 질문과 다음 질문을위한 두 개의 버튼이 있습니다. 내가하고 싶은 것은 사용자가 옵션 (옵션에 대해 4 개의 라디오 버튼이 있음)에서 답변을 선택하고 다음 질문을 시도 할 때 사용자가 이전 질문을 보려는 경우입니다. 이전에 사용자가 선택한 동일한 라디오 버튼이 활성화되어 있어야합니다. 이를 위해 선택한 라디오 버튼 ID를 저장하기 위해 공유 환경 설정을 사용했습니다. 다음 버튼 클릭의 경우 : 다음은 내 코드입니다안드로이드 스튜디오에서 공유 환경 설정에 저장된 라디오 버튼 id에 따라 라디오 그룹의 특정 라디오 버튼을 활성화하는 방법
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int radioSelected = radioGroup.getCheckedRadioButtonId();
int userSelection = getSelectedAnswer(radioSelected);
sharedPreferences=getSharedPreferences(MyPREFERENCES,MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
editor.putInt("Ans",userSelection);
editor.commit();
int correctAnswerForQuestion =firstQuestion.getCorrectAnswer();
if(userSelection == correctAnswerForQuestion)
{
Toast.makeText(getApplicationContext(),"Correct Answer",Toast.LENGTH_LONG).show();
currentQuizQuestion++;
if(currentQuizQuestion>=quizCount)
{
Toast.makeText(getApplicationContext(),"End of quiz",Toast.LENGTH_LONG).show();
return;
}
else
{
firstQuestion=parsedObject.get(currentQuizQuestion);
txtquestion.setText(firstQuestion.getQuestion());
String[] possibleAnswers=firstQuestion.getAnswers().split(",");
uncheckedRadioButton();
optionOne.setText(possibleAnswers[0]);
optionTwo.setText(possibleAnswers[1]);
optionThree.setText(possibleAnswers[2]);
optionFour.setText(possibleAnswers[3]);
}
}
else
{
Toast.makeText(getApplicationContext(),"You choose wrong answer",Toast.LENGTH_LONG).show();
currentQuizQuestion++;
firstQuestion=parsedObject.get(currentQuizQuestion);
txtquestion.setText(firstQuestion.getQuestion());
String[] possibleAnswers=firstQuestion.getAnswers().split(",");
uncheckedRadioButton();
optionOne.setText(possibleAnswers[0]);
optionTwo.setText(possibleAnswers[1]);
optionThree.setText(possibleAnswers[2]);
optionFour.setText(possibleAnswers[3]);
}
}
});
그리고 이전 버튼 :
previousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
currentQuizQuestion--;
if(currentQuizQuestion<0)
{
return;
}
checkedRadioButton();
firstQuestion=parsedObject.get(currentQuizQuestion);
txtquestion.setText(firstQuestion.getQuestion());
String[] possibleAnswers=firstQuestion.getAnswers().split(",");
optionOne.setText(possibleAnswers[0]);
optionTwo.setText(possibleAnswers[1]);
optionThree.setText(possibleAnswers[2]);
optionFour.setText(possibleAnswers[3]);
}
});
JSON_DATA_WEB_CALL();
}
private void checkedRadioButton() {
int ans=1;
int ans1=sharedPreferences.getInt("Ans",ans);
if(optionOne.getId()==ans1)
{
optionOne.setChecked(true);
}
}
저를 도와주세요. 고마워.