Android Quiz App即使正确保存也无法解决问题

时间:2017-09-27 13:37:22

标签: java android sqlite

我无法弄清楚我的应用程序出了什么问题。我有一个测验应用程序(现在只是提出随机问题和答案),所有问题和答案都存储在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();
        }
    });

感谢您的帮助!

1 个答案:

答案 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"); ,这是多余的,不是必需的。