- 在碎片中通过onSaveInstanceState()方法保存数据
(1)实现目标
·在rightfragment中输入临时数据;
·在模拟内存回收后,重新得到临时数据
(2)模拟内存回收
在模拟器下找到开发者设置,打开不保留活动
*夜神模拟器中找到关于平板电脑选项连击版本型号,就可以到开发者设置了。
(3)在rightfragment中编写onSaveInstanceState()方法
@Override
public void onSaveInstanceState(Bundle outState) {
String str = editText.getText().toString();
outState.putString("right_content",str);
super.onSaveInstanceState(outState);
}
获取editText中的临时数据,通过outState.putString(),函数将数据保存。
(4)在rightfragment的onCreatView()中实现数据打印
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.right_fragment,container,false);
Log.d(TAG,"onCreateView");
editText = (EditText) view.findViewById(R.id.edittext);
if(savedInstanceState!=null){
String str = savedInstanceState.getString("right_content");
editText.setText(str);
Log.d(TAG, str);
}
return view;
}
(5)结果显示
按Home键模拟内存回收
再次返回app时,重新建立RightFragment并打印了临时数据