活动中的临时数据的保存和提取

来源:互联网 发布:卓越物业软件 编辑:程序博客网 时间:2024/04/30 02:41

当活动跳转到之前已销毁活动后,之前输入的信息将会丢失。可以采用一定的方法将数据保存下来,在返回到之前的活动后还可以将数据在恢复出来。

 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); @Overrideprotected 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);        }  }