-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
viewpager 预加载会把所有 fragment 里的 onLazyInitView 都调用 #1235
Comments
你好,我查看代码并通过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 . 困扰好久 , 请求路过的大神帮帮忙
The text was updated successfully, but these errors were encountered: