Fragment生命周期的剖析篇一

xiaoxiao2021-02-28  54

Fragment的生命周期无疑是代码经常出错的关键,所以,我们有必要弄懂Fragment的使用场景和对应的场景才会调用的方法。

下面是Fragment的生命周期流程图:

注:onAttach()在fragment第一次与Activity产生关联时调用,以后不再调用; 保存数据时依然和Activity一样,调用onSaveInstanceState()方法记录下需要传递和保存的数据,然后在onCreateView()方法中读取保存的数据,如下例:

public class Demo3Fragment extends Fragment { @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.d("demoinfo", "Fragment onSaveInstanceState() 方法执行!"); outState.putString("myinfo", "haha"); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //创建 Fragment 中显示的 view, 其中 inflater 用来装载布局文件, container 表示 <fragment> 标签的父标签对应的 ViewGroup 对象, // savedInstanceState 可以获取 Fragment 保存的状态 Log.d("demoinfo", "Fragment onCreateView() 方法执行!"); if(null != savedInstanceState){ Log.d("demoinfo", "保存了的数据: "+ savedInstanceState.getString("myinfo")); }else { Log.d("demoinfo", "没有保存的数据!"); } View view = inflater.inflate(R.layout.fragment_demo3, container, false); return view; } }

小结:Fragment中还有很多坑,这里需要点时间,过年开个小差,请静候篇X!

转载请注明原文地址: https://www.6miu.com/read-2627524.html

最新回复(0)