savedInstateceState是个Bundle类型。 内部也是key-value存值的。
这个参数是防止当activity被销毁或马上被kill的时候来存取临时数据
比如说 举个例子。 本来我输入电话号码。 电话号码输入完后不小心点到了注册页面去。 我按back键的时候。如果不做处理, 这时候电话号码就没了。
又要重新输入, 这样影响用户的体验
话不多说。 上图上代码
这是主界面 我加了一个edittext和text按钮。 edittext的默认值是"假数据"
setContentView(R.layout.activity_main);
edit=(EditText) findViewById(R.id.edit);
btn=(Button) findViewById(R.id.buton);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,Myactivity.class);
startActivity(intent);
}
});
我加了个按钮来跳页面。 让当前页面stop掉之前来保存数据
// 下面这个方法。 当用户返回当前activity的时候。 进行数据恢复
这面这段代码是在activity被kill掉之前来保存数据
我输入 666
点击按钮调到页面后返回。 那么数据还在的。
saveintedate方法就是用来保存被kill之前的数据