#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));
}
Надеюсь, это сработает для вас.