Страницы

Поиск по вопросам

вторник, 7 мая 2019 г.

OnClickListener для RecyclerView

Мой код:
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView txtViewTitle; private ImageView imgViewIcon;
public ViewHolder(View itemLayoutView) { super(itemLayoutView); itemLayoutView.setOnClickListener(this); txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.album_title); imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.album_icon); }
@Override public void onClick(View v) { Intent intent = new Intent(v.getContext, SecondActivity.class;
Тут ошибка--> startActivity(intent) } }
то есть, как будто этого метода не существует!
Вопрос:
1) Что неправильно написал?
2) Как добавлить клик, если item-ы RecylerView будет динамически увеличиваться?


Ответ

Передавайте context в конструктор. Вот так по идее правильно:
Intent intent = new Intent(сontext, SecondActivity.class); context.startActivity(intent);
В activity/fragment-e добавьте данный слушатель:
yourRecyclerView.addOnItemTouchListener( new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { //click } }) );

Комментариев нет:

Отправить комментарий