Android(安卓)APP--编写简单的答题器
16lz
2021-01-24
此答题器可以通过Next按钮选择下一题,新写题目的类Question,有两个成员变量。
package com.android.testrecord;/** * Created by wang on 16-10-19. */public class Question { private int mTextResId; private boolean mAnswerTrue; public Question(int textResId, boolean answerTrue) { mTextResId = textResId; mAnswerTrue = answerTrue; } public int getTextResId() { return mTextResId; } public boolean isAnswerTrue() { return mAnswerTrue; } public void setTextResId(int textResId) { mTextResId = textResId; } public void setAnswerTrue(boolean answerTrue) { mAnswerTrue = answerTrue; }}
package com.android.testrecord;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class QuizActivity extends AppCompatActivity { private Button mTrueButton; private Button mFalseButton; private Button 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); } private void checkAnswer(boolean userProessedTrue) { boolean answerIsTrue = mQuestionBank[mCurrentIndex].isAnswerTrue(); int messageId = 0; if (userProessedTrue == answerIsTrue) messageId = R.string.correct_toast; else messageId = R.string.incorrect_toast; Toast.makeText(this, messageId, Toast.LENGTH_SHORT).show(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_quiz); mQuestionTextView = (TextView) findViewById(R.id.question_test_view); // int question = mQuestionBank[mCurrentIndex].getTextResId(); // mQuestionTextView.setText(question); updateQuestion(); mTrueButton = (Button) findViewById(R.id.true_button); mTrueButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Does nothing yet, but soon! /* Toast.makeText(QuizActivity.this, R.string.incorrect_toast, Toast.LENGTH_SHORT).show(); */ checkAnswer(true); } }); mFalseButton = (Button) findViewById(R.id.false_button); mFalseButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Does nothing yet, but soon! /* Toast.makeText(QuizActivity.this, R.string.correct_toast, Toast.LENGTH_SHORT).show(); */ checkAnswer(false); } }); mNextButton = (Button) findViewById(R.id.next_button); mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length; // int question = mQuestionBank[mCurrentIndex].getTextResId(); // mQuestionTextView.setText(question); updateQuestion(); } }); }}
GeoQuiz Constantinople is the largest city in Turkey. True False Correct! Incorrect! Settings Next The Pacific Ocean is larger than the Atlantic Ocean. The Suez Canal connects the Red Sea and the Indian Ocean. The source of the Nile River is in Egypt. The Amazon River is the longest river in the Americas. Lake Baikal is the world\'s oldest and deepest freshwater lake.
更多相关文章
- Android学习笔记(6)——Android——LoginDemo
- Android中浮动按钮
- Android按钮实现点击事件的四种方式
- Android(安卓)源码编译环境流程
- android 开发环境搭建(Windows平台)
- Android设置变量值之——与或非(&、|、~)
- Android(安卓)Studio +Cordova +ionic 环境搭建
- Android中定义接口的方法
- Android单选按钮对话框用法实例分析