web-dev-qa-db-fra.com

Faites glisser votre doigt pour supprimer un élément de la liste

J'ai un ListView qui utilise un adaptateur personnalisé (qui étend BaseAdapter). Comment puis-je ajouter le glissement pour supprimer le geste? 

Je souhaite utiliser les mêmes fonctionnalités que l'application Gmail. 

6
Fra87

Pour ce faire, le moyen le plus simple consiste à déplacer votre ListView vers un RecyclerView et à utiliser un GridLayoutManager avec une seule colonne. Il aura la même apparence, mais vous permet de balayer pour ignorer en utilisant la variable ItemTouchHelper.

     recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
     recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1));

     recyclerView.setAdapter(adapter);


    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
            // Remove item from backing list here
            adapter.notifyDataSetChanged();
        }
    });

    itemTouchHelper.attachToRecyclerView(recyclerView);
13
Gary Bak

Vous pouvez utiliser le lib ::

SwipeMenuListView

0
Anil Prajapati