【问题标题】:GeoQuiz app from BigNerdRanch no working as it is supposed to beBigNerdRanch 的 GeoQuiz 应用程序无法正常工作
【发布时间】:2016-06-01 18:12:49
【问题描述】:

我是 android 新手,我正在根据“Android Programming The Big Nerd Ranch Guide V2”一书开发 GeoQuiz 应用程序,在彻底阅读本书(第 1 章)后,我制作了测验应用程序。但它没有显示正确和错误答案的祝酒词!我肯定做错了什么!!,谁能帮帮我。

public class MainActivity extends AppCompatActivity {

    private Button mTrueButton,mFalseButton,mNextButton;
    private TextView mQuestionTextView;

    private Question[] mQuestionBank= new Question[]{
            new Question(R.string.question_oceans, true),
            new Question(R.string.question_mideast, false),
            new Question(R.string.question_africa, false),
            new Question(R.string.question_americas, true),
            new Question(R.string.question_asia, true)
    };

    private int mCurrentIndex=0;

    private void updateQuestion(){
        int question=mQuestionBank[mCurrentIndex].getTextResId();
        mQuestionTextView.setText(question);
    }

    public void checkAnswer(boolean userPressedTrue){
         boolean answerIsTrue=mQuestionBank[mCurrentIndex].isAnswerTrue();
        int messageResId=0;

        if(userPressedTrue == answerIsTrue){
            messageResId=R.string.correct_toast;
        }
        else
        {
            messageResId=R.string.incorrect_toast;
        }

        Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mNextButton=(Button)findViewById(R.id.next_button);

        mNextButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
                updateQuestion();
            }
        });


        mQuestionTextView=(TextView)findViewById(R.id.question_text_view);

        mTrueButton=(Button)findViewById(R.id.true_button);
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkAnswer(true);
            }
        });

        mFalseButton=(Button)findViewById(R.id.false_button);
        mFalseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkAnswer(false);
            }
        });
        updateQuestion();
    }
}

这是问题活动

public class Question {
    private int mTextResId;
    private boolean mAnswerTrue;

    public Question(int textResId, boolean answerTrue){
        mTextResId=textResId;
        mAnswerTrue=answerTrue;
    }

    public boolean isAnswerTrue() {
        return mAnswerTrue;
    }

    public int getTextResId() {
        return mTextResId;
    }

    public void setTextResId(int textResId) {
        mTextResId = textResId;
    }

    public void setAnswerTrue(boolean answerTrue){
        mAnswerTrue=answerTrue;
    }
}

【问题讨论】:

  • 显示吐司需要调用 show() Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT).show();

标签: java android toast


【解决方案1】:

您正在创建Toast,但不是showing。调用 show() 并查看,如下所示:

Toast.makeText(getApplicationContext(), messageResId, Toast.LENGTH_SHORT).show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多