Ошибка настройки стандартного проигрывателя Youtubest в адаптере recycleradapter

#android #youtube #android-recyclerview #youtube-api #android-youtube-api

#Android #YouTube #android-recyclerview #youtube-api #android-youtube-api

Вопрос:

Я хочу использовать Youtubestandaloneplayer в моем recycleradapter, но в «этом» есть ошибка,

 if (pos == 0) {
    context.startActivity(YouTubeStandalonePlayer.createVideoIntent(this, DEVELOPER_KEY, VIDEO_ID));
}
  

Вот мой код:

 class ViewHolder extends RecyclerView.ViewHolder {

    private Context context;

    public int currentItem;
    public ImageView itemImage;
    public TextView itemTitle;
    public TextView itemDetail;

    public ViewHolder(final View itemView) {
        super(itemView);
        context = itemView.getContext();
        itemImage = (ImageView) itemView.findViewById(R.id.item_image);
        itemTitle = (TextView) itemView.findViewById(R.id.item_title);
        itemDetail = (TextView) itemView.findViewById(R.id.item_detail);

        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int pos = getAdapterPosition();
                if (pos == 0) {
                    context.startActivity(YouTubeStandalonePlayer.createVideoIntent(this, DEVELOPER_KEY, VIDEO_ID));
                } else if (pos == 1) {
                    context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.naver.com")));
                } else if (pos == 2) {
                    context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.daum.net")));
                }
            }
        });
    }
}
  

Я не знаю, где мне нужно изменить. пожалуйста, помогите мне.

Ответ №1:

Вам нужно передать activity в ваш адаптер RecyclerView, а затем изменить это на activity. Пример: В вашей активности (где вы вызываете recyclerview) adapter = new ExampleRecyclerAdapter(CurrentActivity.this, data);

В вашем адаптере RecyclerView:

Activity activity;
ExampleRecyclerAdapter(CurrentActivity activity, Data data) {
this.activity = activity;
}

затем замените в своем коде this на activity

 context.startActivity(YouTubeStandalonePlayer.createVideoIntent(activity, DEVELOPER_KEY, VIDEO_ID));
  

}

Надеюсь, это сработает для вас.