Fragment里嵌套Fragment,父fragment有缓存布局加载不出来的问题

  这两天在工作遇到一个问题,Fragment里嵌套Fragment,这是很多App里都很常用的模式,在其中遇到了Fragment里嵌套Fragment,父fragment布局不加载的问题,这个问题有点奇怪,第一次能正常加载布局,但是第二次又不能加载出布局,并且父Fragment里的内容为子fragment的内容,但是清除下缓存,又能正常加载出布局,甚是奇怪,百思不得其解,使用getChildFragmentManager()也不能解决,在网上也没检索出相关的解决方案,至此有点陷入僵局,最终,我也没想出解决的方法,只能换一种解决方法来寻求需求的实现。

  我的解决方法是这样的,你们可以借鉴一下,我就不使用fragment里嵌套fragment的方法来实现该显示模式,而是用fragment里嵌套自定义Pager来实现,将子fragment的内容提取成一个个的pager,用pager来管理所需要显示的内容,具体的做法如下(就不贴代码了):

  1.自定义一个pager类,里面管理了一个rootView表示的是原来子fragment需要加载的根布局(里面只有一个FrameLayout),再管理了一个pagerView表示需要展示的内容。

  2.在pagerView里完成需要展示数据的相关逻辑。

  3.在相应位置将pagerView添加到rootView中

  至此就完成了一个fragment嵌套fragment的另类实现,后面的各种页面也统一由pager进行管理,可以适当的将各个pager抽象成一个BasePager,后续开发中,凡是遇到页面展示都继承BasePager,提高了代码的复用,简化了代码。

  一直耿耿在怀的是不明白为什么产生fragment里嵌套fragment,父fragment里布局有缓存就加载不出来的问题,如果有知道的大牛,以及怎么解决,望告知。

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值