现在,我希望VideoView在ListView开始滚动时停止播放。当我思考正确的时候,我必须得到显示的VideoView的正确位置?
谢谢(我是编程新手!)
发布于 2014-09-23 20:31:37
我最近做了一些非常类似的事情,但用的是WebViews而不是VideoViews。
由于您已经有一个用于该列表的自定义适配器,因此可能最简单的方法也是在此处实现VideoView的暂停:
1.)让您的适配器保留对VideoView的引用(如果有多个,则保留对所有VideoViews的引用)。因为布局是在getView()中创建的,所以您必须在这里获取引用。
2.)为适配器提供一个类似pausePlayback()的方法,该方法会暂停所有VideoViews。
3.)同样,您还需要一个resumePlayback()方法。
4.)每当您有对ListView (活动或片段)的引用时,请使用myListView.setOnScrollListener()注册一个回调,该回调在每次滚动ListView时都会调用。
在监听程序中,根据播放的确切时间暂停/恢复使用
onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)或
onScrollStateChanged(AbsListView view, int scrollState)检查VideoView是否应该暂停,并相应地调用适配器的方法。
https://stackoverflow.com/questions/25993345
复制相似问题