1:fragment

(1) fragment为什么被称为第五大组件

因为fragment比activity更节省内存,其切换模式也更加舒适,使用频率不低于四大组件,且有自己的生命周期,而且必须依赖于activity

(2)、Activity创建Fragment的方式

静态创建

动态创建

(3)、FragmentPageAdapter和FragmentPageStateAdapter的区别

FragmentPageAdapter在每次切换页面的的时候,是将Fragment进行分离,适合页面较少的Fragment使用以保存一些内存,对系统内存不会多大影响

FragmentPageStateAdapter在每次切换页面的时候,是将Fragment进行回收,适合页面较多的Fragment使用,这样就不会消耗更多的内存

(4)、Fragment生命周期

onAttach()

onCreate()

onCreateView()

onActivityCreated()

onStart()

onResume()

onPause()

onStop()

onDestroyView()

onDestroy()

onDetach()

(5)、Fragment的通信

Fragment调用Activity中的方法:getActivity

步骤:调用fragment的getActicity()方法即可返回它所在的activity实例,之后就可调用activity中的方法或成员变量

使用接口回调的机制,也就是在fragment中定义一个内部回调接口,再让包含该fragment的activity类实现这个接口,这样fragment就能够调用这个回调方法,将数据传给Activity中


Activity调用Fragment中的方法:接口回调

步骤:先创建fragment对象:创建bundle;putstring;调用setArgument()方法

Fragment调用Fragment中的方法:FragmentManager.findFragmentById

步骤:通过fragemntManager找到对应id或者tag的fragment,然后获取里面的数据或方法

通过他们所在的activity作为桥梁,可以使用getActivity()或者接口回调,达到另一个fragment数据的目的

(6)、Fragment的replace、add、remove方法

replace:替代Fragment的栈顶页面

add:添加Fragment到栈顶页面

remove:移除Fragment栈顶页面

你可能感兴趣的:(1:fragment)