GeoQuiz 第二章挑战练习代码
来源:互联网 发布:11对战平台网络问题 编辑:程序博客网 时间:2024/06/05 20:43
QuizActivity.java:
public class QuizActivity extends AppCompatActivity { private Button mTrueButton; private Button mFalseButton; private ImageButton mNextButton; private ImageButton mPreviousButton; private TextView mQuestionTextView; private TrueFalse[] mQuestionBank = new TrueFalse[]{ new TrueFalse(R.string.question_a,false), new TrueFalse(R.string.question_b,true), new TrueFalse(R.string.question_c,true), new TrueFalse(R.string.question_d,false), new TrueFalse(R.string.question_e,false), }; private int mCurrentIndex = 0; public QuizActivity() { } private void updateQuestion(){int question = mQuestionBank[mCurrentIndex].getQuestion();mQuestionTextView.setText(question); } private void checkAnswer(boolean userPressedTrue){boolean answerIsTrue = mQuestionBank[mCurrentIndex].isTrueQuestion();int messageResId = 0;if (userPressedTrue == answerIsTrue){ messageResId = R.string.correct_toast;}else{ messageResId = R.string.incorrect_toast;}Toast.makeText(this,messageResId,Toast.LENGTH_SHORT).show(); } @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_quiz);mQuestionTextView = (TextView)findViewById(R.id.question_text_view);mQuestionTextView.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View v){ mCurrentIndex = (mCurrentIndex + 1)% mQuestionBank.length; updateQuestion(); }});mTrueButton=(Button)findViewById(R.id.true_button);mTrueButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { checkAnswer(true); }});mFalseButton=(Button)findViewById(R.id.false_button);mFalseButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { checkAnswer(false); }});mNextButton = (ImageButton)findViewById(R.id.next_button);mNextButton.setOnClickListener(new View.OnClickListener(){ @Overridepublic void onClick(View v){ mCurrentIndex = (mCurrentIndex + 1)% mQuestionBank.length; updateQuestion(); }});updateQuestion();mPreviousButton = (ImageButton)findViewById(R.id.previous_button);mPreviousButton.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ mCurrentIndex = (mCurrentIndex + 4) % mQuestionBank.length; updateQuestion(); }});Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null) .show(); }}); } @Override public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_quiz, menu);return true; } @Override public boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_settings) { return true;}return super.onOptionsItemSelected(item); }}
content_quiz:
<?xml version="1.0" encoding="utf-8"?><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_text_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><LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageButton android:id="@+id/previous_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/arrow_left" /> <ImageButton android:id="@+id/next_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/arrow_right" /></LinearLayout>
总结
- java 基础部分需要继续巩固。
- 多查阅官网,熟悉各种组件。
0 0
- GeoQuiz 第二章挑战练习代码
- 第二章_挑战练习
- 《Android编程权威指南》第二版 第二章 挑战练习
- 《Android编程权威指南》第二章练习的挑战
- Android编程权威指南:第十二章挑战练习第二个
- 《Android编程权威指南》第二版 第五章 挑战练习
- 《Android编程权威指南》第二版 第六章 挑战练习
- 《Android编程权威指南》第二版 第八章 挑战练习
- Android编程权威指南(第二版)— 第10章挑战练习
- Android编程权威指南(第二版)— 第13章挑战练习-13.6
- Android编程权威指南(第二版)— 第13章挑战练习-13.8
- 挑战代码淘宝UED前端智勇大冲关第二季
- 挑战第二章 poj 3009 水题DFS
- 第二章 上机练习
- .Net 第二章练习
- 第二章上机练习
- 第二章上机练习
- 第二章上机练习
- 慎用AsyncTask
- iOS应用架构谈-网络层设计方案
- 百度地图api申请密钥
- Vim常用操作(推荐)
- Fragment解析
- GeoQuiz 第二章挑战练习代码
- 访问像素级改变图片效果
- 第八周项目1—数组做数据成员(工资类 数组 文件)
- 第3章 对象的共享
- 函数指针,函数指针数组
- Handler当做内部类,导致内存泄露的问题
- git rebase简介(基本篇)
- WPF中加载System.Windows.Forms;
- storm学习实例---能跑通