У меня есть recyclerview
, которому необходимо загрузить youtube
видео один под другим похожим списком, ниже приведен код. Для этого я использовал youtube api
.Youtubeview с RecyclerView loading
Проблема с приведенным ниже кодом заключается в том, что загружается только последнее видео, переданные значения являются правильными и работают. Другие видео в списке не загружаются, и для них есть черный экран.
public class YoutubeAdapter extends RecyclerView.Adapter<YoutubeAdapter.MyViewHolder> {
private String developer_key = "My Developer Key";
private Context context;
private ArrayList<String> video_id;
private LayoutInflater inflater;
public YoutubeAdapter(Context context, ArrayList<String> video_id) {
inflater = LayoutInflater.from(context);
this.context = context;
this.video_id = video_id;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
YouTubePlayerView youtubeView;
public MyViewHolder(View view) {
super(view);
youtubeView = (YouTubePlayerView) view.findViewById(R.id.youtubeView);
}
}
@Override
public YoutubeAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = inflater.inflate(R.layout.video_content,parent,false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
final String video_string = video_id.get(position);
holder.youtubeView.initialize(developer_key, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
if (!b) {
youTubePlayer.cueVideo(video_string);
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(context, "Failed to load video", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemCount() {
return video_id.size();
}
}
Вы имеете в виду, что миниатюры 'youtube videos' не загружаются? –
Я использовал только i youtube view, а не thumbnailview .. происходит то, что только последнее видео с кнопкой видно и может быть воспроизведено. –
- это ваш «Адаптер», содержащий все данные, которые вы проверили, это 'Array List' размер? –