1. 程式人生 > >android開發-常識小測試

android開發-常識小測試

<span style="font-size:18px;">private AnswerOfQuestion[] mAnswerOfQuestions = new AnswerOfQuestion[]{
            new AnswerOfQuestion(R.string.question_01, true),
            new AnswerOfQuestion(R.string.question_02, false),
            new AnswerOfQuestion(R.string.question_03, false),
            new AnswerOfQuestion(R.string.question_04, false),
            new AnswerOfQuestion(R.string.question_05, false)
    };</span>

同理,將各控制元件的setOnClickListener統一寫在一個函式中,放在OnCreate函式外,方便閱讀。程式碼如下:
<span style="font-size:18px;">private void setOnClickListener(){
        mTrueButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                checkAnswer(true);
            }
        });

        mFalseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                checkAnswer(false);
            }
        });

        mShowAnswerButton.setOnClickListener(new View.OnClickListener() {
            @Override  //點選後跳轉至ShowAnswerActivity,攜帶當前問題的答案
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, ShowAnswerActivity.class);
                intent.putExtra(ANSWER, mAnswerOfQuestions[mCurrentIndex].isTrueQuestion());
                startActivityForResult(intent, 0);
            }
        });

        mQuestionTextView.setOnClickListener(new View.OnClickListener() {
            @Override  //點選問題跳轉下一題,效果同點擊“下一題”按鈕
            public void onClick(View view) {
                mCurrentIndex = (mCurrentIndex + 1) % mAnswerOfQuestions.length;
                updateQuestion();
            }
        });

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

        mPreviousButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (mCurrentIndex > 0) {
                    mCurrentIndex = (mCurrentIndex - 1) % mAnswerOfQuestions.length;
                    updateQuestion();
                }
            }
        });
    }</span>

其中checkAnswer(boolean userAnswer)傳入使用者的選擇,並與答案進行比較。int型的messageResourceId用來存放使用者的判斷是否正確。程式碼如下: