Из документации RecyclerView.ViewHolder:
ViewHolder описывает представление элемента и метаданные о его месте в RecyclerView.
Реализации RecyclerView.Adapter должны наследовать ViewHolder и добавлять поля для кэширования потенциально дорогих результатов findViewById (int).
Пользовательские реализации ViewHolder в основном используются для целей кэширования, что означает, что строка ниже не имеет никакого эффекта, поскольку вы устанавливаете слушателя в контейнер хранилища данных.
itemView.setOnClickListener(this);
Решение состоит в том, чтобы установить слушателя на фактический itemView (вероятно, непосредственно перед вызовом ChatHolder (itemView)).
К сожалению, я не могу быть уверен, поэтому, пожалуйста, опубликуйте код для своего пользовательского представления переработчика.