【发布时间】:2021-03-12 18:45:54
【问题描述】:
这里有问题,
我想找出用户选择的 RadioButton 并将其与正确的 RadioButton 进行比较。 我有 3 个问题,它的答案在一个 ArrayList 中。 当我做一个日志来找出哪个被选中时,这是输出:
2020-11-30 23:12:19.128 5696-5696/com.example.test1 E/Question: Where is Iran ? Asia
2020-11-30 23:12:19.128 5696-5696/com.example.test1 E/Question: Where is Sweden ? Europe
2020-11-30 23:12:19.128 5696-5696/com.example.test1 E/Question: Where is Mexico ? Europe
第三题的答案,没有保存,第二题的答案会保存到第三题。请帮我 。我该怎么办
这是我的问题代码:
QuestionModel q1 = new QuestionModel();
q1.setText("Where is Iran ?");
q1.setOp1("Asia");
q1.setOp2("Europe");
q1.setOp3("America");
q1.setOp4("Africa");
q1.setTrue_ans("Asia");
q1.setScore(5);
questions.add(q1);
QuestionModel q2 = new QuestionModel();
q2.setText("Where is Sweden ?");
q2.setOp1("America");
q2.setOp2("Africa");
q2.setOp3("Asia");
q2.setOp4("Europe");
q2.setTrue_ans("Europe");
q2.setScore(3);
questions.add(q2);
QuestionModel q3= new QuestionModel();
q3.setText("Where is Mexico ?");
q3.setOp1("Africa");
q3.setOp2("America");
q3.setOp3("Europe");
q3.setOp4("Asia");
q3.setTrue_ans("America");
q3.setScore(4);
questions.add(q3);
这是我到达用户选择的单选按钮的方式:
if (radioGp.getCheckedRadioButtonId() != -1) {
QuestionModel model = questions.get(con);
int id = radioGp.getCheckedRadioButtonId();
RadioButton useranswer = findViewById(id);
model.setUser_ans(useranswer.getText().toString());
}
这是日志和其他内容:
if (con == 2) {
nextbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (QuestionModel q : questions) {
Log.e("Question ", q.getText() + " " + q.getUser_ans());
String user_ans = q.getUser_ans();
String true_ans = q.getTrue_ans();
if( true_ans.equals(user_ans) ) {
score += q.getScore();
}
}
scorebox.setText(Integer.toString(score));
}
});
}
【问题讨论】:
标签: java android android-studio radio-button