if语句有问题。两个值 - 字符串,一个在箭头中按类声明,另一个由radiobutton.gettext()声明。在debuging中我可以读取var的值。它们是相同的,但如果声明说它们是不同的。 你知道为什么会这样吗?
Debuger: https://imgur.com/a/NIdrQcf
获取 rbAnswer :
private String mChoices [][] = {
/* #8 */ {"razgovor između pomoraca u karanteni i njihovih obitelji", "za osobno razmatranje i razgovor s duhovnikom"," "," "},
}
...
public String getChoice1(int a) {
String choice0 = mChoices[a][0];
return choice0;
}
public String getChoice2(int a) {
String choice1 = mChoices[a][1];
return choice1;
}
...
rbGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
String rbAnswer;
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.radiobtn1)
rbAnswer = "" + rb1.getText();
else if (checkedId == R.id.radiobtn2)
rbAnswer = "" + rb2.getText();
else if (checkedId == R.id.radiobtn3)
rbAnswer = "" + rb3.getText();
else if (checkedId == R.id.radiobtn4)
rbAnswer = "" + rb4.getText();
tTEST.setText(rbAnswer);
if (rbAnswer == mAnswer) {
varScoreTrue = varScoreTrue + 1;
updateScore(varScoreTrue);
obavijestTocno();
updateQuestion();
} else {
varScoreFlase = varScoreFlase + 1;
updateScore(varScoreFlase);
obavijestKrivo();
updateQuestion();
}
}
});
声明 mAnswer :
private String mCorrectAnswers[] = {
...
/* #8 */ "za osobno razmatranje i razgovor s duhovnikom",
...
}
...
public String getCorrectAnswer(int a) {
String answer = mCorrectAnswers[a];
return answer;
}
...
mAnswer = mQuestionLibrary.getCorrectAnswer(mQuestionNumber);
答案 0 :(得分:1)
你做错了比较。
变化:
rbAnswer == mAnswer
到
rbAnswer.equals(mAnswer)