【发布时间】:2017-05-31 20:23:31
【问题描述】:
我在一项活动中提出了一些问题,每个答案都有一个点(0 到 3)。例如,如果用户选择第一个,他得到 0 分,如果他选择第二个,他将得到 1 分,依此类推(第三个得到 2 分,第四个得到 3 分)。
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.first_radiobutton) {
totalPoint = totalPoint + 0;
} else if (checkedId == R.id.secound_radiobutton) {
totalPoint = totalPoint + 1;
}else if (checkedId == R.id.third_radiobutton) {
totalPoint = totalPoint + 2;
}else if (checkedId == R.id.forth_radiobutton) {
totalPoint = totalPoint + 3;
}
}
});
我将 totalPoint 设为全局变量并将其初始化为 public static int totalPoint = 0; 。问题是如果用户改变了主意并为当前问题选择了另一个答案,totalPoint 变量会将这个点添加到自身。例如假设如果用户点击第三个radioButton,totalPoint 变量将为 2,所以如果用户改变主意并选择第四个radioButton,totalPoint 必须为 3,但它将是 5(2+3)。我怎样才能避免这种情况?
【问题讨论】:
-
总是有 4 个按钮还是动态的?
-
尝试保存最后选择的位置或radiogroup的radiogroupid(默认= -1),当你选择新的尝试删除与最后选择的位置相关的点...
-
@Pavan 每个问题都有 4 个可用答案。
-
为什么不在
Next按钮点击中添加值? -
您必须将点存储在数组(列表)中。索引是问题的编号。如果用户想更改他对预览问题的回答,您必须更改数组(列表)中索引处的点 = 问题的编号。
标签: android radio-button radio-group android-radiobutton