2014-12-01 63 views
0

My View Pager由照片,音频和视频组成。音频视图包含播放按钮以播放音频。当我点击播放按钮 它消失并且音频开始播放。当我停止音频时或者当曲目完成后,再次播放按钮变得可见。 如果我在播放音频的同时滑动视图并移动到下一个视图,那么音频停止。但问题是如果我在播放音频时通过滑动移动到下一个视图,然后返回音频视图,那么我可以' t查看查看页面上的播放按钮。但是,如果我滑动到旁边的下一个视图或进一步下一个视图,然后返回到 音频视图,然后我可以看到音频视图上的播放按钮。也出现在后面也如果我在音频播放过程中通过从音频视图中滑动移至上一视图,然后返回到 音频视图,但我无法看到View Pager上的播放按钮。但是,如果我滑动到之前的视图或之前的视图,然后返回到 音频视图,然后我可以看到播放按钮视图寻呼机上。ViewPager中滑动视图中的问题

回答

1

该rea儿子是,当片段0处于活动状态时,Android也会启动相邻片段,在这种情况下只有1.当您滑动到片段1时,由于片段0已经启动,android只会启动片段2.这是您从片段1移回片段0,您看不到播放按钮。

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

老实说,我一直在努力解决同样的问题。这已在StackOverflow中多次讨论过。我发现以下文章是最有用的。

Update data in ListFragment as part of ViewPager

+0

+一个为你的答案..thats问题是..但我无法找到解决方案..很高兴,如果你可以帮我的代码 – 2014-12-02 04:52:57

+0

我试着把int pos =位置-1; if(position > = 1){ ImagePagerAdapter a =(ImagePagerAdapter)pager.getAdapter(); a.instantiateItem(pager,pos); }里面onPageSelected但没有按预期工作.. – 2014-12-02 05:38:39

+1

如果你还在挣扎,这个链接有一个工作示例http://semycolon.blogspot.in/2014/12/refresh-pageviewer-fragment-everytime.html – 2014-12-12 09:27:56

0

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

在任何时候,它所拥有的唯一一个页面是当前页面,一个在左侧,一个在右侧。当你滚动时,页面可以根据你的位置被销毁。

在任何情况下,如果您希望处理页面之间的切换,只需使用setOnPageChangeListener即可将侦听器添加到ViewPager。

这样,您可以确定之前选择了哪个页面,以及现在选择哪个页面。

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

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