带有Viewpager和Youtubeplayer的Airbnb环氧树脂

时间:2019-07-11 04:53:14

标签: android android-recyclerview android-viewpager epoxy

我有一个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,但没有用

1 个答案:

答案 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,从而为您带来更好的体验。