我希望焦点自动移动到Recyclerview
中的下一行位置。我的Recyclerview
包含videoview
。在媒体完成时,我希望播放下一个视频.Videoview正在播放下一个视频,但仅限于第一个视频视频
private static int position= 0;
public static class ViewHolder extends RecyclerView.ViewHolder {
private VideoView videoView;
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
position= getAdapterPosition();
//recyclerView.smoothScrollToPosition(position);
Log.d("TAG_LIST", "Element " + position+ " clicked.");
}
});
}
holder.videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//recyclerView.smoothScrollToPosition(position);
Video(holder);
}
});
private void Video(ViewHolder holder) {
if (++position>= items.size()) {
// Last song, just reset position
position= 0;
} else {
// Play next song
recyclerView.smoothScrollToPosition(position);
AsyncTask task = new AsyncTask (items.get(position).getUrl(), holder,position);
task.execute(items.get(position).getUrl());
}
}
答案 0 :(得分:0)
您没有发布与您的问题相关的任何代码,但我可以为您推荐一些方法。
RecyclerView
上找到第一个可见的项目位置,然后在VideoView
RecyclerView
上收听滚动更改,当第一个可见项目索引发生变化时,停止播放视频,然后启动下一个RecyclerView
项VideoView