android - 添加向右滑动删除 ListView 项目

标签 android listview swipe

我有一个使用自定义适配器(扩展了 BaseAdapter)的 ListView。如何添加滑动删除手势?

我想使用与 gmail 应用程序相同的功能。

最佳答案

最简单的方法是将 ListView 移至 RecyclerView 并使用具有单列的 GridLayoutManager。它看起来一样,但允许您使用 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);

关于android - 添加向右滑动删除 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089542/

相关文章:

android - 我们什么时候应该(真正)使用 RenderScript?

java - Android Listview可点击textview冲突

c# - LINQ 获取最接近的值?

ios - 如何在多个uiview之间滑动

iphone - 在 UIScrollView 中使用滑动手势而不禁用水平和垂直滚动

java - 错误: incompatible types: Message cannot be converted to int?

android - 动画 ListView 中的特定行

android - 更改单击的 recyclerview 项目的 View 背景颜色

Android 在 ScrollView 中添加 ListView 并从 ListView 中删除滚动

android - 寻找具有多个 WebView 的 Android ViewFlipper 示例