android Activity生命周期
2015-09-06 20:21
369 查看
android Activity生命周期
package org.yiqun.guess; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class QuizActivity extends Activity { private static final String TAG="QuizActivity"; private static final String KEY_INDEX="index"; Button mTrueButton; Button mFalseButton; Button mNextButton; TextView mQuestionTextView; TrueFalse[] mAnswerKey = new TrueFalse[] { new TrueFalse(R.string.question_oceans, true), new TrueFalse(R.string.question_mideast, false), new TrueFalse(R.string.question_africa, false), new TrueFalse(R.string.question_americas, true), new TrueFalse(R.string.question_asia, true) }; //Executors //ExecutorService; int mCurrentIndex = 0; private void updateQuestion() { int question = mAnswerKey[mCurrentIndex].getQuestion(); mQuestionTextView.setText(question); } /** * 在Bundle中存储*/ private void checkAnswer(boolean userPressedTrue) { boolean answerIsTrue = mAnswerKey[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); Log.d(TAG, "1: onCreate() called"); setContentView(R.layout.activity_quiz); mQuestionTextView = (TextView)findViewById(R.id.question_text_view); //set text to first question in array 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 = (Button)findViewById(R.id.next_button); mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mCurrentIndex = (mCurrentIndex + 1) % mAnswerKey.length; updateQuestion(); } }); if (savedInstanceState !=null) { mCurrentIndex=savedInstanceState.getInt(KEY_INDEX, 0); } updateQuestion(); } @Override public void onSaveInstanceState(Bundle savedInstanceState){ super.onSaveInstanceState(savedInstanceState); Log.i(TAG, "onSaveInstanceState"); savedInstanceState.putInt(KEY_INDEX, mCurrentIndex); } @Override public void onStart() { super.onStart(); Log.i(TAG,"2: onStart() called"); } @Override public void onResume() { super.onResume(); Log.i(TAG, "3: onResume() called"); } @Override public void onPause() { super.onPause(); Log.i(TAG, "4: onPause() called"); } @Override public void onStop(){ super.onStop(); Log.i(TAG, "5: onStop() called"); } @Override public void onDestroy(){ super.onDestroy(); Log.i(TAG, "6: onDestroy() called"); } @Override public void onRestart(){ super.onRestart(); Log.i(TAG, "7: onRestart() called"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_quiz, menu); return true; } }
相关文章推荐
- android控件之Fragment(碎片)
- android popupwindow showAsDropDown offsetx无效的问题
- Android第五讲——Fragment(碎片)
- Android实例-MediaPlayer播放音乐和视频(XE8+小米2)
- Android中的Fragment
- Android常用控件之碎片Fragment
- Android开发中的问题及相应解决(持续更新)
- android平台1.3寸OLED屏调试
- Android Fragment 真正的完全解析
- Android test---CTS---添加一个新的测试用例
- Android compile with 为空
- Android资源文件中保存字符串数组详解
- ANDROID自定义视图——onMeasure流程,MeasureSpec详解
- Android使用 SVG 资源文件(一)
- 图片加载器——Fresco
- 《深入理解Android 卷III》第一章 开发环境部署
- Android_百度地图(一)简单的定位
- Android实现可旋转的ImageView
- 如何分析解决Android ANR
- 更新日志 - fir.im 回归,上线 Android Studio 插件