带撤销功能的 Android RecyclerView 项目滑动删除

17 Mar 2025 | 6 分钟阅读

在本教程中,我们将创建一个通过滑动项目并带有撤销功能来删除 RecyclerView 项目的示例。为此,我们将使用 Android Support Library V7 中添加的 ItemTouchHelper 类。这个类用于创建滑动删除 RecyclerView 项目的功能。它有一个 SimpleCallback 类,用于配置在滑动或移动 RecyclerView 项目时执行的事件。

ItemTouchHelper 类

它是一个实用类,提供添加滑动关闭和拖放 RecyclerView 项目的功能。它根据我们实现的功能重写 onMove() 或 onSwipe() 回调方法。

Android RecyclerView 项目滑动删除示例

创建一个 MainActivity.java 类,代码如下。

activity_main.xml


content_main.xml


MainActivity.java


创建一个在正常模式下显示的布局 regular_item.xml

regular_item.xml


创建一个在滑动项目时显示的布局 swipe_item.xml

swipe_item.xml


customlayout.xml


创建一个实用类 SwipeUtil.java,它继承 ItemTouchHelper.SimpleCallback 类并重写其 onMove()、onSwiped()、onChildDraw() 方法。onSwiped() 方法在我们对项目执行滑动操作时调用,onChildDraw() 方法包含在滑动 RecyclerView 项目时绘制画布的实现逻辑。

SwipeUtil.java


创建一个 ItemViewHolder.java 类并继承 RecyclerView.ViewHolder。

ItemViewHolder.java


创建一个适配器类 MyAdapter.java,它继承 RecyclerView.Adapter类并重写其 onCreateViewHolder()、onBindViewHolder() 方法。

MyAdapter.java


创建一个 MainActivityFragment.java 类并继承 Fragment 类。在此类中,设置适配器 MyAdapter.java 类和实用类 SwipeUtil.java。

fragment_main.xml


MainActivityFragment.java


strings.xml


dimens.xml


colors.xml

输出

Android Swipe to Delete RecyclerView items with UNDU Android Swipe to Delete RecyclerView items with UNDU Android Swipe to Delete RecyclerView items with UNDU
下一主题滑动刷新活动