RecyclerView - Wo sollte ich mit Klickereignissen verfahren?

8

Vor der Einführung von RecyclerView (und seinem obligatorischen ViewHolder -Muster) delegiere ich normalerweise alle Klickereignisse an die entsprechende Activity / Fragment mit setOnItemClickListener() . (Weil ich hauptsächlich Activity / Fragment als ein "Controller" -Objekt sehe, wenn ich für Android entwickle, sollte jede Änderung an der Ansicht darin gemacht werden.)

Nun behandelt RecyclerView seine Kinder nicht mehr auf die gleiche Weise und die setOnItemClickListener() (oder ähnliche) Methoden sind nicht mehr dafür implementiert - wo sollte ich Klickereignisse behandeln, die stattfinden können? Ich weiß es nicht ... aber mit ihnen in einem Adapter umzugehen scheint mir peinlich.

Wie sollen wir das machen?

Vielen Dank im Voraus!

    
ridsatrio 24.12.2014, 06:50
quelle

2 Antworten

4

Erstellen Sie wie gewohnt einen eigenen viewHolder für die Recycler-Ansicht, und setzen Sie den click listener in der onBindView-Methode auf die Ansicht, in der der Klick ausgeführt werden soll.

%Vor%     
Rat-a-tat-a-tat Ratatouille 24.12.2014, 10:39
quelle
3

Siehe Jacobs Implementierung von RecyclerView.OnItemTouchListener . Ich denke, es ist die beste Lösung.

Ich hoffe, es wird dir helfen. Grüße.

    
Volodymyr Yatsykiv 24.12.2014 10:47
quelle