In unserer App haben wir eine Liste von Nachrichten. Wir wechseln zu RecyclerView
.
Unsere Nachrichten können aus Texten, Bildern bestehen.
Beispielnachricht kann so aussehen.
Um mit Klicks umzugehen, verwenden Sie diese Klasse:
%Vor%und wir implementieren diese Klicks in Aktivität wie folgt:
%Vor% Klicks für die Nachricht funktioniert, jetzt möchte ich auch userAvatar
Klicks von der gleichen GestureDetection
behandeln. Ist es möglich, zu erkennen, auf welches Listenelementlayout geklickt wurde?% Co_de%?
Mit anderen Worten, kann ich GestureDetector
click child bekommen. In meinem Fall wird der Klick auf das gesamte Objekt (Avatar, Textnachricht, Bild) gesetzt. Kann ich erkennen, welches Element in diesem Objekt angeklickt wurde (zum Beispiel möchte ich den Avatar klicken).
Behandeln Sie den Klick im Adapter Ihres RecyclerView wie im folgenden Beispiel:
%Vor%Sie können den Listener in die Adapterklasse setzen. Hier ist der Code:
ViewHolder-Klasse im Adapter:
%Vor%Setzen Sie Ihren imageView-Klick in der Adapterklasse onBindViewHolder:
%Vor%Erstellen einer Schnittstelle innerhalb der Adapterklasse:
%Vor%Einstellung der Schnittstelle von Aktivität / Fragment:
%Vor%Ich habe es genauso versucht wie @ user320676, aber ich habe versucht mit einem Listener abzuschließen:
%Vor%Dann können Sie den Listener in einer Aktivität oder einem Fragment verwenden. Hier kannst du meinen vollen Adapter sehen:
%Vor%Sie können auch den Code in GitHub vervollständigen .
Klicken Sie im Adapter von RecyclerView auf , um Zugriff zu erhalten. Besuchen Sie RecyclerView Beispiel ähnlich wie onItemClickListener
von ListView
Tags und Links android android-recyclerview onclicklistener