当 onBindViewHolder 调用播放视频时,如果没有在 recyclerview 中停止视频
Posted
技术标签:
【中文标题】当 onBindViewHolder 调用播放视频时,如果没有在 recyclerview 中停止视频【英文标题】:when onBindViewHolder called play video and if not stop video in recyclerview 【发布时间】:2019-06-07 00:06:56 【问题描述】:我需要在调用onBindViewHolder()
时播放视频,然后如果该项目向下或向上滚动,我需要停止该视频。在RecyclerView
的适配器中怎么做?
【问题讨论】:
@Midhilaj:你测试过这个解决方案吗? @aminography 我正在测试 【参考方案1】:您可以覆盖适配器中的onViewAttachedToWindow(VH holder)
和onViewDetachedFromWindow(VH holder)
方法。然后在他们的身体里开始和停止视频。正如文档所说:
onViewAttachedToWindow
在此适配器创建的视图已附加到窗口时被调用。
onViewDetachedFromWindow
在此适配器创建的视图已与其窗口分离时调用。
视觉效果:
【讨论】:
@pskink:是的,伙计,当每个项目超出屏幕矩形时,就会调用此方法。 @pskink:我已经开发并添加了它的工作视觉结果。 当您使用onViewRecycled
时,可能不会通过将视图移出可见区域来调用它。因为目前可能不需要回收视图。
onViewAttachedToWindow 被调用但 onViewDetachedFromWindow 未被调用
可能是这个问题***.com/questions/54156630/…【参考方案2】:
在这里我为你找到了一些链接:
Implementing video playback in a scrolled list (ListView & RecyclerView) https://github.com/Krupen/AutoplayVideos https://ene.im/2017/07/09/toro-101-how-to-1/看到这些链接,你就可以理解这个概念了。
对于你的问题,我只是在谷歌上搜索了play pause video in recylcerview android,我希望下次你能和我做同样的事情。
注意:一切都不可能写在评论中,所以我写了一个答案。
谢谢。
【讨论】:
以上是关于当 onBindViewHolder 调用播放视频时,如果没有在 recyclerview 中停止视频的主要内容,如果未能解决你的问题,请参考以下文章
RecyclerView.onBindViewHolder 只调用一次
未调用 RecyclerVIew onCreateViewHolder 和 onBindViewHolder
Android开发之视频播放调用setVideoPath()方法
如何在回收站视图的 onBindViewHolder() 方法中调用 getString()?
在 RecyclerView 适配器 notifyDataSetChanged() 之后未调用 onBindViewHolder
RecyclerView 一次为所有项目调用 onCreateViewHolder 和 onBindViewHolder