android開發-常識小測試
阿新 • • 發佈:2019-02-01
<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用來存放使用者的判斷是否正確。程式碼如下: