0

我有一个Viewpager扩展FragmentStatePagerAdapter了 2 个片段(每个都有com.airbnb.epoxy.EpoxyRecyclerView

使用Airbnb's Expoxy库来填充heterogeneous recyclerview

1st fragmenthas youtube player(使用的库https://github.com/PierfrancescoSoffritti/android-youtube-player)在屏幕开始时播放视频

这个 youtube 库youtubeplayer通过添加来处理生命周期fragment.lifecycle.addObserver(youtubePlayer)

问题

当我滑动到2nd fragment视频时仍在播放1st fragment

我的发现

在滑动viewpagerto2nd fragment时,the 1st fragment不会进入onPause()状态

我做了什么

我试过设置viewPager.offscreenPageLimit = 0,但没有用

4

1 回答 1

0

这实际上与环氧树脂或 youtube 库无关。Android 上的 ViewPager 会加载相邻的片段,因此 onResume/onPause 不会像您在 ViewPager 中所期望的那样工作。你在用安卓X吗?如果你是我推荐使用最新版本的 appcompat,目前androidx.appcompat:appcompat:1.1.0-beta02.

FragmentStatePagerAdapter有一个新的构造函数: FragmentStatePagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)

这将在 ViewPager 内的片段上正确调用 onResume/onPause,从而为您的案例带来更好的体验。

于 2019-07-11T06:15:15.740 回答