·什么是Fragment?
Fragment是现实在Activity中的Activity。它可以实现在Activity中,拥有自己的生命周期,可以接受处理用户的事件,并且可以在一个Activity中添加,替换,移除不同的Fragment。
·Fragment的生命周期
Fragment比Activity多了几个生命周期的回调方法
onAttach(Activity)当Fragment与Activity发生关联的时候调用
onCreateView创建该Fragment视图
onActivityCreated当Activity的onCreated方法返回时调用
onDestroyView与onCreateView方法相对应,当Fragment的视图被移除时调用
onDetach与onAttach方法相对应,当Fragment与Activity取消关联时调用
·Fragment的使用方式
静态使用Fragment,在Activity中声明,与普通的View对象一样。
动态使用Fragment,实现点击不同的按钮,在Activity中现实不同的Fragment。
·什么是Fragment的回退栈
Fragment的回退栈是用来保存每一次Fragment事务发生的变化,如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment。一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity。
Fragment的点击事件写是replace方法,相当于remove和add的合体,并且如果不添加事务到回退栈,前一个Fragment实例会被销毁。
·Fragment如何处理运行时配置发生变化
当屏幕发生旋转,Activity发生重新启动,默认的Activity中的Fragment也会跟着Activity重新创建;当旋转的时候,本身存在的Fragment也会重新启动,然后当执行Activity的onCreate时,又会再次实例化一个新的Fragment。和Activity类一样,Fragment也有onSaveInstanceState的方法,可以再次保存数据,然后再onCreate或者onCreateView或者onActivityCreated进行恢复都可以。