Android简单知识

ActivityA中editext输入一个临时数据后跳转到ActivityB ,再从ActivityB调到ActivityA时,临时数据已经不存在,是因为因为某些问题ActivityA已经被回收了,解决此问题的主要逻辑在Activty中添加下列方法。

@Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        String data="";//里面为activity里保存的临时数据
        outState.putString("data_key",data);
    }

如果要恢复的话在onCreate()方法中有一个Bundle类型的参数,一般情况为null,一旦被保存过得数据,需要再次显示的时候,Bundle就不为空了,可以用它来取出数据,如下:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState!=null){
            String data = savedInstanceState.getString("data");
            //开始操作数据
        }
    }

你可能感兴趣的:(Android简单知识)