Confirmation et annuler la suppression en RecyclerView

J'ai obtenu une liste d'items simples dans RecyclerView. À l'aide de ItemTouchHelper il a été très facile à mettre en œuvre "glisser à supprimer" de comportement.

public class TripsAdapter extends RecyclerView.Adapter<TripsAdapter.VerticalItemHolder> {
    private List<Trip> mTrips;
    private Context mContext;
    private RecyclerView mRecyclerView;

    [...]

    //Let adapter know his RecyclerView. Attaching ItemTouchHelper
    @Override
    public void onAttachedToRecyclerView(RecyclerView recyclerView) {
        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new TripItemTouchHelperCallback());
        itemTouchHelper.attachToRecyclerView(recyclerView);
        mRecyclerView = recyclerView;
    }

    [...]

    public class TripItemTouchHelperCallback extends ItemTouchHelper.SimpleCallback {
        public  TripItemTouchHelperCallback (){
            super(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.RIGHT);
        }

        @Override
        public boolean onMove(RecyclerView recyclerView,
                              RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            //some "move" implementation
        }
        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
            //AND WHAT HERE?
        }
    }
}

Il fonctionne bien. Cependant j'ai aussi besoin de mettre en œuvre l'annulation de la dernière action ou de la confirmation. Quelle est la meilleure façon de le faire?

Première question est de savoir comment insérer un autre point de vue dans le lieu de supprimé avec la boîte de dialogue de confirmation? Et comment faire pour restaurer glissée élément, si l'utilisateur choisit d'annuler la suppression?

  • "Quelle est la meilleure façon de le faire?" -- annuler de la barre ou snack-bar. "Et comment restaurer glissée élément, si l'utilisateur choisit d'annuler la suppression?" -- mise à jour de votre modèle, puis appeler le notify...() méthode sur la RecyclerView.Adapter pour indiquer ce qui a changé dans votre modèle.
InformationsquelleAutor cheyuriy | 2015-06-15