Warum funktioniert OnClickListener in einem ViewHolder nicht?

Ich versuche, eine Möglichkeit zu implementieren, um die Elementauswahl auf einem @ zu handhabeRecyclerView. Ich persönlich mag es nicht, wie in einigen Antworten auf SO vorgeschlagen, Gesten zu durchlaufen, und ich dachte, dass die Implementierung einesOnClickListener, wie vorgeschlagenHie undHie, war waaay sauberer.

Tatsache ist, dass ... dieses Muster nicht wirklich funktioniert! Ich kann wirklich nicht verstehen, warum meinOnClickListener.onClick istnoch ni namens. Es ist ein bisschen wie eine andere Methode den Klick abfängt, bevoronClick kann sich darum kümmern.

Dies ist mein 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);
        }
    }

Leider ist es für mich sehr wichtig, auf die Position des angeklickten Elements im gesamten Datensatz zugreifen zu können, um es zu entferneindexOfChild ist auch nicht akzeptabel: Ich habe versucht, aber diese Methode gibt Ihnen die Position des Elements in der visibile Teil der Liste, so dasslist.remove(position) unmöglich

Antworten auf die Frage(4)

Ihre Antwort auf die Frage