您的位置:首页 > 其它

onSaveInstanceState()解决活动被回收时临时数据得不到保存的问题

2016-03-30 17:58 375 查看
Activity中提供的一个onSaveInstanceState()回调方法,这个方法保证一定在活动被回收之前调用,因此我们可以通过这个方法来解决活动被回收时临时数据得不到保存的问题。

onSaveInstanceState()方法会携带一个bundle类型的参数,bundle提供了一系列的方法用于保存数据。每个保存方法需要传入两个参数,第一个是键,用于从bundle中取值,第二个参数是真正要保存的内容。

将临时数据进行保存

@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
String tempData="Something you just typed";
outState.putString("data_key",tempData);
}


通过相应的取值方法将数据取出

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState!=null){
String tempData=savedInstanceState.getString("data_key");
Log.d("data",tempData);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: