如何解决如何知道用户何时完成移动 RecyclerView 项目?
我需要在用户掉落物品时执行一些操作。 itemtouchhelper 似乎只有 onMove 和 onMoved 调用,无论用户是否实际完成移动项目,都会发生这种情况。 我如何知道用户何时完成移动项目?也就是说,他们松开了手指,将项目放回了 recyclerView?
解决方法
您可以覆盖 ItemTouchHelper.Callback
类实现的 onSelectedChanged()
回调,并使用可以是 (actionState
,{{1 }},& ACTION_STATE_DRAG
).
ACTION_STATE_SWIPE
是您要查找的内容,当滑动/拖动操作结束并且用户将手指离开屏幕时会触发它
您可以使用布尔值来确定是滑动还是拖动,如下所示。
ACTION_STATE_IDLE
然后在你的 RecyclerView 上使用它
ACTION_STATE_IDLE
预览
,简单。只需覆盖onClearView()
:
@Override
public void clearView(@NonNull RecyclerView recyclerView,@NonNull RecyclerView.ViewHolder viewHolder) { //called when you dropped the item
super.clearView(recyclerView,viewHolder);
Toast.makeText(recyclerView.getContext(),"Item dropped on position: " + viewHolder.getAdapterPosition(),Toast.LENGTH_SHORT).show();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。