在很多场景下,我们需要对数据进行保存与恢复,
下面假设Activity中有一个EditText输入框,id为tv2
重写onSaveInstanceState和onRestoreInstanceState对数据进行保存与恢复
重写onSaveInstanceState对数据进行保存
@Override
protected void onSaveInstanceState(Bundle outState) {
TextView tv = findViewById(R.id.tv2);
super.onSaveInstanceState(outState);
outState.putString("data",tv.getText().toString());
}
重写onRestoreInstanceState对数据进行恢复
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
TextView tv = findViewById(R.id.tv2);
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState!=null){
String data = savedInstanceState.getString("data");
tv.setText(data);
}
}
可以通过旋转模拟器活动重启模拟器就可以看到测试效果