标签:
1.设备旋转前保存数据
当屏幕旋转时会销毁当前Activity然后再新建一个Activity,这样会造成数据的丢失。通过覆盖onSaveInstanceState(Bundle outState)方法来保存数据。
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.i(TAG,"onSaveInstanceState"); outState.putInt(KEY_INDEX,mCurrentIndex); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_quiz); if (savedInstanceState!=null){ mCurrentIndex=savedInstanceState.getInt(KEY_INDEX,0); } mQuestionTextView=(TextView)findViewById(R.id.question_text); updateQuestion(); mTrueBtn= (Button) findViewById(R.id.true_btn); mFalseBtn= (Button) findViewById(R.id.false_btn); mNextButton= (Button) findViewById(R.id.next_button); mPrevBtn= (Button) findViewById(R.id.prev_button); mTrueBtn.setOnClickListener(this); mFalseBtn.setOnClickListener(this); mNextButton.setOnClickListener(this); mPrevBtn.setOnClickListener(this); }
有一点需要注意的是,Bundle中存储和恢复的数据只能是基本数据类型和可以实现Serializable接口的对象。
标签:
原文地址:http://www.cnblogs.com/luoqiuyu/p/5835498.html