我正在进行单项选择和多项选择测试.
每个问题我都有几个问题和4个答案.
当每个答案分配给单选按钮时,我正在洗牌.这就是我如何改组arraylist,其中Random是一个带有项目的arraylist,而r1,r2,r3,r4是单选按钮.
random.add(val);
Collections.shuffle(random);
r1.setText(random.get(0));
r2.setText(random.get(1));
r3.setText(random.get(2));
r4.setText(random.get(3));
Run Code Online (Sandbox Code Playgroud)
我能够以混乱的方式显示答案,但当我选择答案时,我需要表明答案是对还是错.
Sample question and options.
1. which language is used for android programming?
A.PHP
B.JAVA
C.C
D.C++
Run Code Online (Sandbox Code Playgroud)
正确答案是B我需要显示正确答案是B.
如何实现这一目标.
编辑: 我试过这个:
每个单选按钮的Onclick分配值A,如果正确的显示正确,则将值与xml值进行比较,但是当我混杂时,它将不起作用.
编辑2 xml
<Question no="1" text="Which Programming language is used in android develoment" type="SCA" noc="4" jumble="NO" correctans="PHP">
<choice a = "PHP" flag="A">
<choice b = "JAVA" flag="B">
<choice c = "C" flag="C">
<choice d = "C++" flag="D">
Run Code Online (Sandbox Code Playgroud)
您可以使用Option-isOptionCorrect对创建一个hashmap.喜欢你的情况:
HashMap<String, Boolean> choices = new HashMap<String, Boolean>();
choices.put("PHP", false);
choices.put("JAVA", true);
choices.put("C", false);
choices.put("C++", false);
Run Code Online (Sandbox Code Playgroud)
现在洗牌键值对.您正确的选择将是true在HashMap中具有价值的选择.
这是一个有点幼稚的解决方案,但它应该有效。
class Question {
String message;
String answer;
List<String> options; //"Java", "PHP", etc
}
Run Code Online (Sandbox Code Playgroud)
在您的问题对象中随机播放地图的键在您的单选按钮中,执行类似的操作r1.setText(random.get(0))
单击时,执行
String choice = null;
for (RadioButton rb : rBtns) {
if (rb.isSelected) {
choice = rb.getText(); break();
}
}
if (choice.equals(question.getAnswer))
return true; //correct
else
return false; //wrong
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4524 次 |
| 最近记录: |