美文网首页
一步步来做GeoQuiz之8月3日更新

一步步来做GeoQuiz之8月3日更新

作者: nbpzjy | 来源:发表于2016-08-03 15:09 被阅读23次

    2016.8.3完成第二章,总体讲,扩展了GeoQuiz的问题数量,采用Strings手动创建;创建一个类来作为Question类,实现构造方法,getter和setter方法;修改Layout文件,增加上一题下一题的按钮;MainActivity中代码更新,采用封装公用代码做一个updateQuestion()更新上一题下一题时的问题显示,新建一个方法checkAnswers()方法来检验用户点击正确与否,并toast一个信息。

    第二章完成的界面图

    Question类,参数有两个

    public class Question {
    
        private int mTextResId;
        private boolean mAnswerTrue;
    
        //构造方法
        public Question(int textResId, boolean answerTrue) {
            mTextResId = textResId;
            mAnswerTrue = answerTrue;
        }
    
        //Geter and setter方法
        public int getTextResId() {
            return mTextResId;
        }
    
        public void setTextResId(int textResId) {
            mTextResId = textResId;
        }
    
        public boolean isAnswerTrue() {
            return mAnswerTrue;
        }
    
        public void setAnswerTrue(boolean answerTrue) {
            mAnswerTrue = answerTrue;
        }
    }
    
    

    公用代码封装方法

     //封装显示问题的公用代码
        private void updateQuestion(){
    
            int question = mQuestionsBank[mCurrentIndex].getTextResId();
            mTextViewShowQuestion.setText(question);
    
        }
    
    

    引用直接updateQuestion()即可

    mNextbtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mCurrentIndex = (mCurrentIndex+1) % mQuestionsBank.length;
    
                    //调用updateQuestion()显示点击下一题之后的问题内容
                    updateQuestion();
                }
            });
    
    

    判断用户选择正确与否的方法checkAnswer()

    
     //判断点击是不是正确
        private void checkAnswer(boolean userPressedTrue){
            boolean answerIsTrue = mQuestionsBank[mCurrentIndex].isAnswerTrue();
    
            int messageResId = 0;
    
            if (userPressedTrue == answerIsTrue){
                messageResId = R.string.toast_correct;
            } else {
                messageResId = R.string.toast_wrong;
            }
    
            Toast.makeText(MainActivity.this,messageResId,Toast.LENGTH_SHORT).show();
        }
    
    

    相关文章

      网友评论

          本文标题:一步步来做GeoQuiz之8月3日更新

          本文链接:https://www.haomeiwen.com/subject/wpiqsttx.html