YouTube API Intergration RecyClerview(无法解决资源.关键)



正在尝试将Youtube集成在我的应用中,以便使用RecyClerview在列表中出现视频,但是Resoures.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);
            }
        }
    }

最后我明白了,只有 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";
}

相关内容

  • 没有找到相关文章

最新更新