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.
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);
Vous pouvez utiliser le lib ::