我是 Android 编程新手,想做一个包含大约 50 个问题的简单测验。我的问题是,如果不创建 50 个单独的布局、java 类和活动,我不确定如何做到这一点。我希望每个问题都不同,问题的格式是多项选择(A、B、C 和 D)。有什么有用的建议吗?谢谢。
问问题
1478 次
2 回答
2
这很简单!只需创建一个活动,然后在每次用户回答问题时更新其数据:
1)用问题改变TextView
2)用答案改变按钮
/*updating question
*questions is the list of questions obviously
*answers is the list of lists:) When you take a list from answers
*you get a list with
*4 items - they are the answers for current question
*/
public void updateQuestion() {
mQuestionTextView.setText(questions.get(currentQuestionNum));
mButtonA.setText(answers.get(currentQuestionNum).get(0));
mButtonB.setText(answers.get(currentQuestionNum).get(1));
mButtonC.setText(answers.get(currentQuestionNum).get(2));
mButtonD.setText(answers.get(currentQuestionNum).get(3));
}
EDIT:
public ArrayList<String> getAnswers(int questionsNumber) {
return ArrayList<String> currentQuestionAnswers = answers.get(questionsNumber);
}
于 2013-08-15T11:41:58.647 回答
1
对于每个问题,您都可以执行以下操作:
TextView textview = (TextView) findViewById(R.id.question);
question.setText(current_question);
对于多项选择,如果您使用的是 RadioGroup,则可以有 4 个与每个选项对应的文本视图,并且您可以根据问题修改文本。
为了识别已选择的选项,将其放入 onClickListener
radioGroup = (RadioGroup) findViewById(R.id.radio);
btnSend = (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId = radioGroup.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioButton = (RadioButton) findViewById(selectedId);
}
});
于 2013-08-15T13:14:56.703 回答