当有人点击右侧的单选按钮时,我想将分数提高1。如果有人点击2次,则得分增加2.我试图用布尔值来防止它,但它不起作用。我错了吗? 这是我的代码:
boolean isChecked;
answer[j].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RadioButton checkedRadioButton = ((RadioButton) v);
if (isChecked) {
if (checkedRadioButton.isChecked() & CorrectAnswer == 1) {
score++;
isChecked = false;
}
}
}
});
谢谢!
答案 0 :(得分:3)
假设您不需要OnClickListener
之外的值,最简单的方法是使其成为该类的成员变量:
new View.OnClickListener() {
private boolean isChecked = true; // HERE
@Override
public void onClick(View v) {
RadioButton checkedRadioButton = ((RadioButton) v);
if (isChecked) {
if (checkedRadioButton.isChecked() && CorrectAnswer == 1) {
score++;
isChecked = false;
}
}
}
};
您最初还需要将其值设置为true
,否则它将为false
,因此条件的主体永远不会运行。
答案 1 :(得分:3)
你也可以简单地使用
if (!checkedRadioButton.isChecked())
而非专用检查程序
if (isChecked)