Pourquoi OnClickListener sur un ViewHolder ne fonctionne pas?

Je suis en train de mettre en œuvre un moyen de gérer la sélection de l'élément sur un RecyclerView. Personnellement, je n'aime pas la façon suggérée dans certaines réponses sur AFIN de passer au travers de gestes, et j'ai pensé que la mise en œuvre d'un OnClickListenercomme l'a suggéré ici et icia été waaay plus propre.

Le fait est que... ce modèle ne fait pas travailler! Je ne suis vraiment pas en mesure de comprendre pourquoi mon OnClickListener.onClick est jamais appelé. C'est un peu comme une autre méthode intercepte le clic avant de onClick peut prendre soin d'elle.

C'est mon code:

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        TextView tvName;
        ImageView star;

        public ViewHolder(View itemView) {
            super(itemView);

            tvName = (TextView) itemView.findViewById(R.id.CHAT_ITEM_name);
            star = (ImageView) itemView.findViewById(R.id.CHAT_ITEM_star);

            Fonts.setTypeface(tvName, regular);
        }

        @Override
        public void onClick(View view) {
            int position = getLayoutPosition();
            select(position);
        }
    }

Malheureusement, il est très important pour moi de pouvoir accéder à la position de l'élément cliqué dans l'ensemble du jeu de données, afin de le supprimer, afin de faire quelque chose comme indexOfChild n'est pas acceptable: j'ai essayé, mais cette méthode vous donne la position de l'élément dans le visible partie de la liste, et donc de faire de list.remove(position) impossible.

source d'informationauteur Gianluca