【发布时间】:2017-04-25 07:00:33
【问题描述】:
我正在使用TextureView 和MediaPlayer 显示视频列表。我想为所有视频静音/取消静音。
有什么问题
问题是当我使用notifyDataSetChanged() 方法时,播放视频会重新加载,因为onBindViewHolder() 在notifyDataSetChanged() 之后执行。
静音/取消静音图标点击代码
case R.id.volume_button:
if (isToPlaySoundInitially) {
volumeKey.setImageResource(R.drawable.unmute_video);
isToPlaySoundInitially = false;
mVideoView.unMuteVideo();
} else {
volumeKey.setImageResource(R.drawable.mute_video);
isToPlaySoundInitially = true;
mVideoView.muteVideo();
}
notifyDataSetChanged();
break;
静音/取消静音的方法
public void muteVideo() {
if (this.mp != null) {
mp.setVolume(0, 0);
}
}
public void unMuteVideo() {
if (this.mp != null) {
mp.setVolume(1, 1);
}
}
请建议我如何将列表中所有项目的声音静音/取消静音。
谢谢。
【问题讨论】:
-
你能发布一些你的代码吗?
-
我已经用适配器中的点击事件代码更新了我的问题
-
我希望你为你的项目创建一个持有人,你可以直接触摸你的项目视图。
-
是的,但我必须在单击任何一项时为所有项静音。喜欢在 Facebook 中
标签: android android-recyclerview android-viewholder notifydatasetchanged