Я думаю, что вы просто ищете onClickListener
для каждого RecyclerView
в его Adapter
. Вы можете сделать это с помощью интерфейсов, в этом случае вам нужно создать 2 интерфейса:
interface clickListenerInFirstRecycler{
void onFirstClick(int position);
}
interface clickListenerInSecondRecycler{
void onSecondClick(int position);
}
В зависимости от того, какую информацию вы хотите получить от элемента, просто измените параметры в интерфейсах. В этом случае я буду использовать только для получения позиции элемента.
Затем в вашем классе Adapter
создайте глобальные переменные этих интерфейсов и методы его установки:
private clickListenerInFirstRecycler listener;
public void setOnClickListener(clickListenerInFirstRecycler listener){
this.listener = listener;
}
Аналогично со вторым интерфейсом и адаптером.
Затем в onBindViewHolder
вызовите эту переменную, в данном случае listener
, метод, который вы создали (в первом случае onFirstClick), и передайте соответствующий аргумент. В данном случае это просто позиция:
listener.onFirstClick(position);
Затем перейдите к своей деятельности и заставьте их реализовать эти интерфейсы. Вам нужно будет переопределить методы из интерфейсов, и оттуда вы сможете обрабатывать клики из указанного RecyclerView и данные оттуда.
Не забудьте вызвать onCreate
или после инициализации Adapter
для настройки этих интерфейсов:
adapter.setOnClickListener(this)