2016-12-29 47 views
0

我試圖在我的應用中集成Youtube,以便使用RecyclerView將視頻顯示在列表中,但Resoures.KEY無法解析。下面是我的 代碼Youtube API集成+ RecyclerView(Resources.KEY無法解析)

holder.youTubeThumbnailView.initialize(Resources.KEY, new YouTubeThumbnailView.OnInitializedListener() { 
       @Override 
       public void onInitializationSuccess(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader youTubeThumbnailLoader) { 

        youTubeThumbnailLoader.setVideo(VideoID[position]); 
        youTubeThumbnailLoader.setOnThumbnailLoadedListener(onThumbnailLoadedListener); 
       } 

       @Override 
       public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) { 
        //write something for failure 
       } 
      }); 

這就是我的全部適配器

爲什麼會這樣呢?

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.VideoInfoHolder> { 

     //these ids are the unique id for each video 
     String[] VideoID = {"P3mAtvs5Elc", "nCgQDjiotG0", "P3mAtvs5Elc"}; 
     Context ctx; 
     public String KEY = null; 

     public RecyclerAdapter(Context context) { 
      this.ctx = context; 
     } 

     @Override 
     public VideoInfoHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
      View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_youtube, parent, false); 
      return new VideoInfoHolder(itemView); 
     } 

     @Override 
     public void onBindViewHolder(final VideoInfoHolder holder, final int position) { 


      final YouTubeThumbnailLoader.OnThumbnailLoadedListener onThumbnailLoadedListener = new YouTubeThumbnailLoader.OnThumbnailLoadedListener(){ 
       @Override 
       public void onThumbnailError(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader.ErrorReason errorReason) { 

       } 

       @Override 
       public void onThumbnailLoaded(YouTubeThumbnailView youTubeThumbnailView, String s) { 
        youTubeThumbnailView.setVisibility(View.VISIBLE); 
        holder.relativeLayoutOverYouTubeThumbnailView.setVisibility(View.VISIBLE); 
       } 
      }; 



      holder.youTubeThumbnailView.initialize(Resources.KEY, new YouTubeThumbnailView.OnInitializedListener() { 
       @Override 
       public void onInitializationSuccess(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader youTubeThumbnailLoader) { 

        youTubeThumbnailLoader.setVideo(VideoID[position]); 
        youTubeThumbnailLoader.setOnThumbnailLoadedListener(onThumbnailLoadedListener); 
       } 

       @Override 
       public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) { 
        //write something for failure 
       } 
      }); 
     } 

     @Override 
     public int getItemCount() { 
      return VideoID.length; 
     } 

     public class VideoInfoHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 

      protected RelativeLayout relativeLayoutOverYouTubeThumbnailView; 
      YouTubeThumbnailView youTubeThumbnailView; 
      protected ImageView playButton; 

      public VideoInfoHolder(View itemView) { 
       super(itemView); 
       playButton=(ImageView)itemView.findViewById(R.id.btnYoutube_player); 
       playButton.setOnClickListener(this); 
       relativeLayoutOverYouTubeThumbnailView = (RelativeLayout) itemView.findViewById(R.id.relativeLayout_over_youtube_thumbnail); 
       youTubeThumbnailView = (YouTubeThumbnailView) itemView.findViewById(R.id.youtube_thumbnail); 
      } 

      @Override 
      public void onClick(View v) { 

       Intent intent = YouTubeStandalonePlayer.createVideoIntent((Activity) ctx, Resources.KEY, VideoID[getLayoutPosition()]); 
       ctx.startActivity(intent); 
      } 
     } 
    } 

回答

1

最後我得到它,只是Resource是一類,我添加它含有的API密鑰KEY

package youtube.api.key; 

/** 
* Created by HUZY_KAMZ on 12/29/2016. 
*/ 

public final class Resource{ 

    private Resource() { 
    } 

    public static final String KEY = "YOUR API KEY"; 
}