我有一个Viewpager
,它用两个片段扩展了FragmentStatePagerAdapter
(每个片段都有com.airbnb.epoxy.EpoxyRecyclerView
)
使用Airbnb's Expoxy
库填充heterogeneous recyclerview
1st fragment
具有youtube player
(已使用库https://github.com/PierfrancescoSoffritti/android-youtube-player)在屏幕开始播放视频
此youtube库通过添加youtubeplayer
fragment.lifecycle.addObserver(youtubePlayer)
的生命周期
问题
当我滑动到2nd fragment
时,视频仍以1st fragment
播放
我的发现
在将viewpager
滑动到2nd fragment
时,the 1st fragment
不会进入onPause()
状态
我做什么
我尝试设置viewPager.offscreenPageLimit = 0
,但没有用
答案 0 :(得分:0)
这实际上不需要对环氧树脂或youtube库做任何事情。 Android上的ViewPager会加载相邻的片段,因此onResume / onPause不会按您期望的那样在ViewPager中工作。您正在使用AndroidX吗?如果我建议您使用最新版本的appcompat,当前为androidx.appcompat:appcompat:1.1.0-beta02
。
FragmentStatePagerAdapter
具有新的构造函数:
FragmentStatePagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)
哪种方法可以正确调用ViewPager中的片段的onResume / onPause,从而为您带来更好的体验。