2016-07-31 48 views
3

Ich habe viele Beiträge über die Implementierung einer OnItemClickListener in der RecyclerView gelesen, aber je mehr ich lese, desto mehr werde ich verwirrt. Es scheint, dass wir zwei Möglichkeiten haben die OnItemClickListener zu implementieren:OnItemClickListener vs OnItemTouchListener

  1. Hinzufügen setOnClickListener innerhalb des Adapters als here
  2. RecyclerView.OnItemTouchListener als here
gezeigt Implementierung gezeigt

Als ich die Beiträge lese ich herausfinden, dass die Die erste Methode ist besser und hat mehr Funktionen als die zweite Methode. Zum Beispiel gibt es Unterstützung für den Artikelklick. Was ist der Vorteil der zweiten Methode? Warum und wo soll ich es benutzen? Irgendwelche Vorschläge?

Antwort

1

Ein OnItemTouchListener funktioniert ein bisschen anders als die normale OnItemClickListener. Mit der OnItemTouchListener ist es möglich, dass die Anwendung Berührungen von der View Hierarchie abfangen kann. Was bedeutet dies im Grunde ist, dass Sie verschiedene Formen der Gestenmanipulation wie Swipe direkt in die View s Ihrer RecyclerView implementieren können.

Wann sollten Sie es verwenden?
Ein OnItemClickListener sollte verwendet werden, wenn Sie feststellen müssen, was passiert, wenn der Benutzer auf eine View in Ihrem RecyclerView klickt. Dies könnte etwas löschen oder eine neue Aktivität starten. Die OnItemTouchListener wird im Allgemeinen verwendet, um gestische Interaktivität zu bestimmten View s in Ihrem RecyclerView zu erstellen.

Wenn Sie eine OnItemTouchListener in Ihr RecyclerView implementieren möchten, müssen Sie die MotionEvent bestimmen, die Sie verwenden werden. Für weitere Informationen empfehle ich, dass Sie mehr über OnItemTouchListener von der Android-Entwickler-Website lesen.