В Recyclerview есть много методов для обработки событий щелчков, но я не знаю лучшего метода с точки зрения производительности и минимизации ошибок.
Первый метод, который я увидел, - обработать событие щелчка в onBindViewHolder
Метод
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int postion) {
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Add action
}
});
}
Второй метод - обработка события клика в onCreateViewHolder
Метод
@Override
public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(item_adapter, parent, false);
final ViewHolder holder = new ViewHolder(v);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Add action
}
});
return holder;
}
Третий метод - использовать интерфейс и отправлять информацию в MainActivity
или фрагмент и обрабатывать событие щелчка в MainActivity
или фрагмент.
Какой способ лучше?