我无法弄清楚我的应用程序出了什么问题。我有一个测验应用程序(现在只是提出随机问题和答案),所有问题和答案都存储在SQLite数据库中。当我测试应用程序时,它表示答案是错误的,即使它们是正确的。
答案存储为A,B,C,D,我不知道如何使其符合真实的答案。
这是我的支票代码:
jQuery('#gsbtns1 .vc_btn3-color-grey').click(function() {
jQuery(this).parent().removeClass("nest-custom-activator");
});
在这里打电话给onCreate:
private void checkAnswer() {
//TODO: check answer
RadioGroup grp = (RadioGroup) findViewById(R.id.radioGroup1);
RadioButton answer = (RadioButton) findViewById(grp.getCheckedRadioButtonId());
if (currentQuestion.getAnswer().equals(answer.getText())) {
Toast.makeText(getApplicationContext(), R.string.correct_toast, Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Chosen answer " + answer.getText().toString() +
" Real answer " + currentQuestion.getAnswer(),
Toast.LENGTH_LONG).show();
}
currentQuestion = quesList.get(mQuestionId);
setQuestionView();
}
这是数据库助手类:
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkAnswer();
}
});
感谢您的帮助!
答案 0 :(得分:3)
您需要在var prefMenuItem = new NSMenuItem("Settings", ",", handler: delegate
{
var prefStyle = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
prefWindow = new NSWindow(rect, prefStyle, NSBackingStore.Buffered, false);
prefWindow.Title = "Settings";
prefWindow.TitleVisibility = NSWindowTitleVisibility.Hidden;
NSApplication.SharedApplication.RunModalForWindow(prefWindow);
});
上应用NSApplication.SharedApplication.RunModalForWindow(prefWindow);
来获取文字,否则您只是将您的答案与toString
(使用getText
)参考进行比较,该参考可能会始终给你假的
EditText/TextView
注意:RadioButton是TextView的后代,因此getText来自TextView,返回CharSequence
更新:为简单起见,您可以使用答案而不是选项来存储您的问题
if (currentQuestion.getAnswer().equals(answer.getText().toString()))
// ^^^^^^^^^^^
并从CharSequence
移除Question q2 = new Question("Which of the following is NOT an option ",
"Apartments", "Houses", "Duplexes", "Rentals",
"Apartments");
,这是多余的,不是必需的。