Open gzpaiwxc opened 4 years ago
你好,我查看代码并通过demo验证了,并没有这个问题,你是否方便提供简单的demo,复现一下这个问题,我会尽快帮你处理
@JantHsueh 我目前也找不到什么原因 , 项目用了 MVVM 的架构 , 我测了作者的 demo 是没问题的 , 我的项目是用 kotlin 写的 , 后面把有问题的代码写回 Java 又没问题了 , 我以为是框架和 kotlin 不兼容 , 后来我把作者的 demo 也用 kotlin 写测了一遍 , 还是没问题 。 最关键的一点是我的项目最大层有 3 个 tab , 首页的 tab 里面 viewpager+fragment 完全没问题 , 但是第 2 个 tab , viewpager+fragment 和首页的 tab 里的 viewpager+fragment 的写法完全一样 , 但用 kotlin 写就是有问题 , Java 写就是没问题,我真的非常懵逼 。用的是 demo 里知乎的那种写法。
@gzpaiwxc 你方便提供一个该问题的demo吗,我看下是什么问题
我也是这个问题 只不过是viewpager2
用kotlin写,发现同样的问题
androidx.fragment:fragment-ktx:1.2.5 去掉这个就行了
Library version fragmentationX 1.0.1
Logs
Screenshots
我用的 Fragment 嵌套 Viewpager , 里面放 4 个 Fragment , setOffscreenPageLimit() 设为 3 , 每次进来都会把 4 个 fragment 预加载了 , 每个页面的 onLazyInitView 都在预加载的时候就调用了 , 这样岂不是都没有懒加载的效果了 ? onLazyInitView 懒加载不是在 fragment 可见的时候才调用的吗 ? 还有就是 onSupportVisible() 也是一样在预加载的时候 4 个 fragment 页面调用了 , 然后第一次切换页面时 , 只会调用上一个显示的 fragment 的 onSupportInVisible 方法 , 不调用要显示的 fragment 的 onSupportVisible 方法 , 第二次切换页面的时候才会调用 要显示的 fragment 的 onSupportVisible 和上一个显示的 fragment 的 onSupportInVisible . 困扰好久 , 请求路过的大神帮帮忙