失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > activity状态的保存和恢复

activity状态的保存和恢复

时间:2019-09-03 03:04:19

相关推荐

activity状态的保存和恢复

activity状态的保存和恢复

一、简介

1、保存activity状态

* 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态

* 没有ID的组件或者变量的状态的保存就需要我们重写这个方法

* 这个方法是在activity被回收或者被销毁的时候保存的,比如横竖屏幕的切换等等

2、恢复activity状态

* 恢复activity状态

* onRestoreInstanceState方法会自动恢复有ID的或者说之前onSaveInstanceState保存的状态

* 我们自己重写的保存内容要我们自己恢复

* 这个方法在页面创建的时候自动运行

* 所以自然也可以把恢复状态的代码写在onCreate方法里面

二、代码实例

activity.MainActivity

1 package activity; 2 3 4 5 6 import com.example.activityStatus.R; 7 8 import android.app.Activity; 9 import android.content.Intent;10 import android.os.Bundle;11 import android.util.Log;12 import android.view.View;13 import android.view.View.OnClickListener;14 import android.widget.Button;15 import android.widget.Toast;16 17 18 19 public class MainActivity extends Activity{20private String str="我是状态信息";21private Button btn_openActivty;//创建一个button对象22protected void onCreate(Bundle savedInstanceState) {23 super.onCreate(savedInstanceState);//父类操作24 setContentView(R.layout.activity_main);//引入名为activity_main的界面25 btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button26 btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听27 28 @Override29 public void onClick(View v) {//onclick事件30 // TODO Auto-generated method stub31 Intent intent=new Intent();//初始化intent32 intent.setClass(MainActivity.this,Activity01.class);//连接33 startActivity(intent);//打开activity34 }35 });36 }3738//保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态39/*40 * 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态41 * 没有ID的组件或者变量的状态的保存就需要我们重写这个方法42 * 这个方法是在activity被回收或者被销毁的时候保存的,比如横竖屏幕的切换等等43 * (non-Javadoc)44 * @see android.app.Activity#onSaveInstanceState(android.os.Bundle)45 */46@Override47protected void onSaveInstanceState(Bundle outState) {48 // TODO Auto-generated method stub49 outState.putString("str", str);50 super.onSaveInstanceState(outState);51 Toast.makeText(this, "onSaveInstanceState", Toast.LENGTH_SHORT).show();52 Log.d("MainActivity", "onSaveInstanceState");53}5455/*56 * 恢复activity状态57 * onRestoreInstanceState方法会自动恢复有ID的或者说之前onSaveInstanceState保存的状态58 * 我们自己重写的保存内容要我们自己恢复59 * 这个方法在页面创建的时候自动运行60 * 所以自然也可以把恢复状态的代码写在onCreate方法里面61 * 62 * (non-Javadoc)63 * @see android.app.Activity#onRestoreInstanceState(android.os.Bundle)64 */65@Override66protected void onRestoreInstanceState(Bundle savedInstanceState) {67 // TODO Auto-generated method stub68 super.onRestoreInstanceState(savedInstanceState);69 if(savedInstanceState==null) return;70 String str=savedInstanceState.getString("str");71 Toast.makeText(this, str, Toast.LENGTH_SHORT).show();72 Log.d("MainActivity", str);73} 74 }

如果觉得《activity状态的保存和恢复》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。