2015-04-04 6 views
14

Ich habe eine App mit einer Recycleransicht, die einige Elemente zeigt, die Recycleransicht unterstützt auch mehrere Ansichtstypen, die von den Einstellungen geändert werden können. Ich versuche jetzt, eine Möglichkeit zu implementieren, einige Aktionen für die Recyclerview-Elemente anzuzeigen, wenn ein Benutzer das Element wischt. Insbesondere suchte ich nach einer Möglichkeit, ein Fenster zu implementieren, das mit ähnlichen Aktionen wie das Relay für Reddit App herausrutschte.Wie wird die Folie implementiert, um Aktionen in der Recycleransicht anzuzeigen?

Die einzige Antwort, die ich mehr oder weniger finden konnte, war, jeder Zeile in der Recycleransicht einen Viewpager hinzuzufügen, aber das scheint keine besonders saubere Lösung zu sein, besonders bei mehreren Viewtypen. Wie kann ich diese Funktion implementieren?

+1

ich am Ende mit dieser Bibliothek: https://github.com/daimajia/AndroidSwipeLayout offenbar RecyclerView Unterstützung hinzugefügt wurde, wenn auch nicht in der angegebenen Dokumentation –

Antwort

0

Die korrekte/empfohlene Methode zum Hinzufügen von Aktionen auf RecyclerView-Elementen beim Streichen mit dem Benutzer besteht darin, einen ItemTouchHelper zu verwenden.

Sie könnten eine Swipe-Aktion wie folgt hinzu:

 itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback() { 
     @Override 
     public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { 
      return false; 
     } 

     @Override 
     public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { 
      //Perform your action 
     } 
    }); 
    itemTouchHelper.attachToRecyclerView(recyclerView);