0

我的视图寻呼机由照片、音频和视频组成。音频视图由播放按钮组成,用于播放音频。当我点击播放按钮时,它消失并且音频开始播放。当我停止音频或曲目完成时,播放按钮再次变为可见. 如果我在播放音频时滑动视图并移动到下一个视图然后音频停止。但问题是如果我在播放音频时通过滑动移动到下一个视图然后返回到音频视图然后我不能查看 View Pager 上的播放按钮。但是,如果我滑动到下一个视图或进一步的下一个视图,然后返回到音频视图,那么我可以在音频视图上看到播放按钮。同样的情况也会发生。如果我移动到在播放音频时从音频视图滑动前一个视图,然后返回到音频视图,我在 View Pager 上看不到播放按钮。

4

2 回答 2

1

原因是,当fragment 0处于活动状态时,android也会启动相邻的fragment,本例中只有1。当你滑动到fragment 1时,由于fragment 0已经启动,android只启动fragment 2。这就是当如果您从片段 1 移回片段 0,则看不到播放按钮。

现在,当您移动到片段 2 再回到片段 1 时,片段 0 将被刷新,因此您可以再次看到该按钮。

老实说,我也遇到过同样的问题。这已在 StackOverflow 中多次讨论过。我发现以下帖子最有用。

作为 ViewPager 的一部分更新 ListFragment 中的数据

于 2014-12-01T19:24:29.210 回答
0

您所描述的只是 ViewPager 的工作方式。

在任何时候,它保存的唯一页面是当前页面,左侧一页,右侧一页。当您滚动时,页面可以根据您所在的位置进行销毁。

在任何情况下,如果您希望处理页面之间的切换,您可以简单地使用setOnPageChangeListener向 ViewPager 添加一个侦听器。

这样,您可以识别之前选择了哪个页面,现在选择了哪个页面。

如果你愿意,你可以发布一个项目,我会看看我能做些什么来修复它。

我还建议使用片段而不是视图来更轻松地处理每个页面的生命周期。另外,如果你想保存页面的状态,你可以使用FragmentStatePagerAdapter

于 2014-12-02T19:39:54.433 回答