Fragment重点

Fragment的生命周期


Fragment重点_第1张图片
Fragment的生命周期

replace:replace是remove和add的合体,并且如果不添加事务到回退栈,前一个Fragment实例会被销毁。我们调用addToBackStack(null);将当前的事务添加到了回退栈,所以Fragment实例不会被销毁,但是视图层次依然会被销毁,即会调用onDestoryView和onCreateView。


Fragment与Activity通信

因为所有的Fragment都是依附于Activity的,所以通信起来并不复杂,大概归纳为:

a、如果你Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法

b、如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作。

c、在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。

注:如果在Fragment中需要Context,可以通过调用getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity().getApplicationContext()。


Fragment与Activity通信的最佳实践


Android Fragment 真正的完全解析(下)


FragmentPagerAdapter+ViewPager的注意事项

Fragment全解析系列(二):正确的使用姿势

你可能感兴趣的:(Fragment重点)