我正在开发适用于 Android 的测验应用程序,我在 RadioGroup 中使用 RadioButtons。我想实现的是,当有人检查正确答案(本例为 id/krzyzyk)时,分数将增加一分。我编写了这段代码:
int score = 2;
public void onRadioButtonClicked(View view) {
RadioButton radiobutton1 = (RadioButton) findViewById(R.id.krzyzyk);
if (radiobutton1.isChecked()) {
score = score + 1;
}
}
它可以工作,但是当我运行应用程序并单击另一个 RadioButton 并再次 id/krzyzyk
时,分数将再次更新。你能帮我解决这个问题吗?
最佳答案
当用户点击 RadioButton krzyzyk
时,您的代码将始终增加分数。
如果所选单选按钮正确,我建议您提交答案并转到下一个问题,增加分数。
将您的代码更改为:
public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();
// Check which radio button was clicked
switch(view.getId()) {
case R.id.correct_answer: // this is id/krzyzyk
if (checked)
score++;
// Go to next question
break;
case R.id.wrong_answer:
if (checked)
// Go to next question.
break;
}
}
关于java - Android 测验应用程序中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315295/