Umgang mit mehreren Layout-Klicks in recyclerView in Android

8

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).

    
Rafael Muhamedzyanov 17.04.2015, 11:53
quelle

6 Antworten

3

Behandeln Sie den Klick im Adapter Ihres RecyclerView wie im folgenden Beispiel:

%Vor%     
user320676 25.06.2015 11:10
quelle
0

Sie können diesen Code versuchen:

%Vor%

dann:

%Vor%     
Ahmad Ebrahimi 17.04.2015 12:35
quelle
0

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%     
Karan 28.03.2016 06:50
quelle
0
dong sheng 17.08.2016 08:27
quelle
0

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 .

    
Cabezas 17.11.2017 09:46
quelle
-1

Klicken Sie im Adapter von RecyclerView auf , um Zugriff zu erhalten. Besuchen Sie RecyclerView Beispiel ähnlich wie onItemClickListener von ListView

    
Sameer 17.04.2015 12:30
quelle