如何解决RecyclerView 上的 Exoplayer
我目前正在使用 recyclerview 开发 exoplayer,遇到了一些问题,请帮助我找出解决方案。 回收站视图包含带有图像或视频的项目,当我想编辑回收站视图项目时,应用程序导航到另一个活动,保存编辑的项目后,应用程序导航回回收站视图所在的原始位置。问题是,在返回活动后,回收者视图会在该项目丢失 exo 播放器的那一刻回收所有显示项目,并且不再显示视频。
额外: 我正在使用 mvvm 模式,使用 viewmodel 更新回收器视图,当我更新项目时,它会在返回活动时更新回收器视图
代码:填充回收者视图
viewModel.getPosts().observe(this,result -> {
dataBinding.setLoadResource(result);
int resultCount = (result == null || result.data == null) ? 0 : result.data.size();
dataBinding.setResultCount(resultCount);
viewModel.setPostsSize(resultCount);
adapter.replace(result == null ? null : result.data);
dataBinding.executePendingBindings();
});
数据绑定适配器代码:当应用导航回回收器视图所在的活动时调用此代码
public static void releaseRecycledPlayers(int index) {
Log.d(TAG,"releaseRecycledPlayers: called: " + index);
if(playerViewMap != null)
playerViewMap.remove(index);
if(thumbnails != null)
thumbnails.remove(index);
if(progressBars != null)
progressBars.remove(index);
if(videoSources != null)
videoSources.remove(index);
if(currentPlayingVideo.first == index && currentPlayingVideo.second.getPlayer() != null) {
currentPlayingVideo.second.getPlayer().stop(true);
currentPlayingVideo.second.setPlayer(null);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。