简体   繁体   English

使用带有 TabLayoutMediator 的 viewpager2 时调用下一个片段的生命周期方法

[英]call next fragment's lifecycle method when use viewpager2 with TabLayoutMediator

I use Viewpager2 With setup tablayout using TabLayoutMediator but the issue is when I swipe viewpager first fragment to the second fragment here only call current fragment's lifecycle methods, but when I click on tablayout then call next fragment's lifecycle methods.我使用 Viewpager2 和设置 tablayout 使用 TabLayoutMediator 但问题是当我将 viewpager 第一个片段刷到第二个片段时,这里只调用当前片段的生命周期方法,但是当我点击 tablayout 时,然后调用下一个片段的生命周期方法。 I don't know why this happens?我不知道为什么会这样?

This happens because the method that TabLayoutMediator uses to move to the selected fragment causes the RecyclerView to cache the next Fragment as it uses Smooth Scrolling.发生这种情况是因为 TabLayoutMediator 用于移动到选定片段的方法导致 RecyclerView 在使用平滑滚动时缓存下一个片段。

This should not be a problem UNLESS you are doing something in the wrong part of the Fragment's lifecycle.这应该不是问题,除非您在 Fragment 生命周期的错误部分做某事。 If you only want do something when a Fragment is displayed then only do it in the Fragments onResume method as the behaviour you describe will only take the cached Fragment to "Started" state.如果您只想在显示 Fragment 时执行某些操作,则只能在 Fragments onResume方法中执行此操作,因为您描述的行为只会将缓存的 Fragment 置于“已启动”状态。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 即使 offsetlimit 是默认值,ViewPager2 也会预加载下一个片段(0) - ViewPager2 preloaing next fragment even when offsetlimit is the default(0) ViewPager2 中未显示图像(重新打开 Fragment 时) - Image not shown in ViewPager2 (when Fragment reopened) 确定片段何时在 ViewPager2 中不再可见 - Determining when fragment no longer visible in ViewPager2 IllegalStateException:在 ViewPager2 有适配器之前附加 TabLayoutMediator - IllegalStateException: TabLayoutMediator attached before ViewPager2 has an adapter Viewpager2 的 TabLayoutMediator 在新的 android studio version4.0.0 上不可用 - TabLayoutMediator for viewpager2 is not available on the new android studio version4.0.0 在 viewpager2 中丢失片段 - Losing fragment in viewpager2 从 Viewpager2 片段访问父片段 function - Accessing Parent's Fragment function from Viewpager2 fragment 在ViewPager中调用片段上的方法 - call a method on a fragment in a ViewPager 迁移到 viewpager2 不加载所有上一页和下一页边界视图以及 viewpager2 中 getPageWidth() 的等效方法是什么 - Migrating to viewpager2 not loading all previous and next page boundaries view and what is the equivalent method to getPageWidth() in viewpager2 使用 FragmentStateAdapter 在 viewPager2 中删除片段,但仍然显示 - remove fragment in viewPager2 use FragmentStateAdapter, but still display
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM