(二)Fragment面试问题

一.Fragment为什么会被称为第五大组件?

1.Fragment为什么被称为第五大组件?

答:在使用频率上,Fragment是不输于其他四大组件的,它有自己的生命周期。同时,它可以动态、灵活地加载Activity的内容,所以是第五大组件。它虽然有自己的生命周期,但是它需要依附Activity,并加载到Activity当中。

2.Fragment加载到Activity的两种方式。

答:1)静态加载,添加Fragment到Activity的布局文件当中。

2)动态加载,动态在Activity中添加Fragment。

  1. 第一步,创建FragmentManager对象,通过FragmentManager创建FragmentTransaction。

2.第二步,调用FragmentTransaction中的add()方法(第一个参数为Fragment要加载位置的id)添加Fragment,执行commit()方法后即可动态加载Fragment。

3.FragmentPagerAdapter与FragmentStatePagerAdapter的区别。

答:FragmentPagerAdapter在destroyItem()的时候只是把UI分离,并没有回收内存,所以适合页面比较少的情况,对系统内存没有多大影响。由于FragmentStatePagerAdapter在每次ViewPage切换的时候是回收内存的,所以它适合页面比较多的情况,因为页面较多的情况会更耗内存,所以要回收内存。

二、Fragment生命周期

Fragment从启动到销毁生命周期的全过程:

Fragment生命周期

三、Fragment通信

1.在Fragment中调用Activity的方法 :使用getActivity()方法。

2.在Activity中调用Fragment的方法 :使用接口回调。

3.在Fragment中调用Fragment中的方法 :使用使用Activity中的getActivity()方法获取上下文,在上下文中调用findFragmentById()找到对应的Fragment即可。

四、FragmentManager的add、remove、replace方法

1.add方法 :将Fragment的实例添加到Activity的最上层。

2.remove方法 :将Fragment从Activity的Fragment队列中删除。

3.replace方法 :把最上层的Fragment替换成别的Fragment。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言:这篇文章,大概分析下Fragment的生命周期、实际应用方法以及使用Fragment时需要注意的地方,算是F...
    androidjp阅读 12,983评论 10 104
  • 《Android Fragment完全解析,关于碎片你所需知道的一切》 我们都知道,Android上的界面展示都是...
    cxm11阅读 2,226评论 2 19
  • 开篇废话 公司搬迁告一段落,吐槽一句,从此就需要过上车程一个半小时的上下班之旅了。。。。。。 上一篇我们了解了四大...
    进击的欧阳阅读 881评论 1 9
  • 先从个人方面说起吧。按照从上到下,由头至脚顺序一一道来。 先谈一下服装。一般大学都会购买统一的军训服装,这里就不必...
    云起快云阅读 615评论 1 5
  • 今日主食: 1.汉堡 【配料:熟牛肉片+煎海虾+煎蛋+生菜+黄花片】 2.紫薯香蕉面包卷 3.蒸玉米+南瓜 4.煎...
    幸福的小黄豆0426阅读 160评论 0 0