Lorsque vous essayez de répertorier 10 vidéos d'une playlist YouTube dans une activité Android dans RecylerView. Je n'ai pas d'erreurs mais je comprends que seule la dernière vidéo est jouable! les autres vidéos ne sont pas chargées.Liste des vidéos YouTube dans RecyclerView
J'utilise le YouTubePlayerView, comme dans les extraits de code suivant,
public class PlaylistViewAdapter extends RecyclerView.Adapter {
PlaylistItem[] playlist;
String APIKey;
public PlaylistViewAdapter(PlaylistItem[] c, String APIKey) {
playlist = c;
this.APIKey = APIKey;
}
class PlaylistItemData extends RecyclerView.ViewHolder {
TextView title;
TextView desc;
YouTubePlayerView videoPlayer;
public PlaylistItemData(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.title);
desc = (TextView) itemView.findViewById(R.id.desc);
videoPlayer = (YouTubePlayerView) itemView.findViewById(R.id.youtube_player_view);
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.playlist_row, parent, false);
PlaylistItemData dataObjectHolder = new PlaylistItemData(view);
return dataObjectHolder;
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
((PlaylistItemData) holder).videoPlayer.initialize(APIKey, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
// if (!b) {
youTubePlayer.cueVideo(playlist[position].getVideoId());
// }
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Log.i("onBindView", youTubeInitializationResult.toString());
}
});
((PlaylistItemData) holder).title.setText(playlist[position].getTitle());
((PlaylistItemData) holder).desc.setText(playlist[position].getDesc());
}
@Override
public int getItemCount() {
return playlist.length;
}
}
J'ai trouvé cette réponse https://stackoverflow.com/a/36474697/1247399 donc devrais-je utiliser les vignettes ou WebView?