栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android APP编写简单答题器

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android APP编写简单答题器

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

java代码:

package com.android.testrecord; 
 
 
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! 
 
 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! 
 
 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代码:

 
   
   
    

代码:

 
  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. 
 


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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/156631.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号