首页 > 系统 > Android > 正文

Android APP编写简单答题器

2019-10-22 18:16:54
字体:
来源:转载
供稿:网友

本文为大家分享了Android APP编写的简单答题器,此答题器可以通过Next按钮选择下一题,新写题目的类Question,有两个成员变量。

java代码:

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;   } } 

java代码:

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();       }     });   } } 

xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:gravity="center"   android:orientation="vertical" >   <TextView     android:id="@+id/question_test_view"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:padding="24dp"/>   <LinearLayout     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:orientation="horizontal">     <Button       android:id="@+id/true_button"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/true_button"/>     <Button       android:id="@+id/false_button"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/false_button"/>   </LinearLayout>   <Button     android:id="@+id/next_button"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="@string/next_button"/>   </LinearLayout> 

代码:

<resources>   <string name="app_name">GeoQuiz</string>   <string name="question_text">     Constantinople is the largest city in Turkey.   </string>   <string name="true_button">True</string>   <string name="false_button">False</string>   <string name="correct_toast">Correct!</string>   <string name="incorrect_toast">Incorrect!</string>   <string name="action_settings">Settings</string>   <string name="next_button">Next</string>   <string name="question_oceans">The Pacific Ocean is larger than the Atlantic Ocean.</string>   <string name="question_mideast">The Suez Canal connects the Red Sea and the Indian Ocean.</string>   <string name="question_africa">The source of the Nile River is in Egypt.</string>   <string name="question_americas">The Amazon River is the longest river in the Americas.</string>   <string name="question_asia">Lake Baikal is the world/'s oldest and deepest freshwater lake.</string> </resources> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表