0

RecylerView에서 Android 활동에 youtube 재생 목록의 10 개의 동영상을 나열하려고 할 때. 나는 오류가 없지만 마지막 비디오 만 재생할 수 있습니다! 다른 동영상이로드되지 않습니다. RecyclerView에 YouTube 동영상 나열

enter image description here

나는 다음과 같은 코드 조각에서와 같이 YouTubePlayerView를를 사용

, 내가 https://stackoverflow.com/a/36474697/1247399 그래서 난 축소판 또는 웹보기를 사용해야한다이 대답을 발견
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; 
    } 
} 

?

답변

0

YouTubePlayerView 대신 웹보기를 사용하여 해결되었습니다.