当活动跳转到之前已销毁活动后,之前输入的信息将会丢失。可以采用一定的方法将数据保存下来,在返回到之前的活动后还可以将数据在恢复出来。
EditText et1=(EditText)findViewById(R.id.edit1);
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData=et1.getText().toString();
outState.putString("data_key",tempData);
//将输入框et1中的信息,保存在onSaveInstanceState函数携带的Bundle 参数中。
}
onCreate(Bundle savedInstanceState)中有一个Bundle参数,onSaveInstanceState中的数据就保存在这个Bundle中。当活动被摧毁后,重新打开时便会调用onCreate。可以再onCreate函数中将Bundle中的数据取出。
EditText et1=(EditText)findViewById(R.id.edit1);
@Override
protected void onCreate(Bundle savedInstanceState) {
//onSaveInstanceState中的数据就保存在这个Bundle中.
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(savedInstanceState!=null){
String str=savedInstanceState.getString("data_key");
et1.setText(str);
}
}