RecyclerView ItemTouchHelper操作拖动结束 [英] RecyclerView ItemTouchHelper Action Drag Ended

查看:579
本文介绍了RecyclerView ItemTouchHelper操作拖动结束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户停止在我的RecyclerView上拖放时(当他放下所选项目时),我需要听取用户的声音.

I need to listen to the user when he stops drag and drop on my RecyclerView (when he drops the selected item).

我可以通过ItemTouchHelper获得此信息吗?

Can I get this Information through my ItemTouchHelper?

感谢您的帮助

标记:此刻仅在用户仍在移动项目时才显示:)

Mark: At the moment i only now when the user still moves the item :)

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) {
    if (source.getItemViewType() != target.getItemViewType()) {
        return false;
    }
    // Notify the adapter of the move
    mAdapter.onItemMove(source.getAdapterPosition(), target.getAdapterPosition());
    return true;
}

推荐答案

更新

首先,您可以通过实现canDropOver

First you can define where an object can be dropped by implementing canDropOver

@Override
public boolean canDropOver(RecyclerView recyclerView, RecyclerView.ViewHolder current, RecyclerView.ViewHolder target) {
    return current.getItemViewType() == getItemViewType();
}

更新您要使用的适配器onMove在拖动操作期间可以将其称为多个

Update your adapter you want to use onMove this can be called multiple during a drag operation

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
    adapter.moveItem(viewHolder.getAdapterPosition(), target.getAdapterPosition());
    return true;
}

要检测与某个元素的交互何时结束,实现clearView这适用于任何动作类型(拖动或滑动),即使该操作成功(项目被移动或滑动)或被取消(项目未被移动或滑动)

To detect when an interaction with an element is over implement clearView this is for any action type (drag or swipe) in the even that it succeeds (item moved or swiped) or is canceled (item not moved or swiped)

@Override
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
    super.clearView(recyclerView, viewHolder);
    // Action finished
}

这篇关于RecyclerView ItemTouchHelper操作拖动结束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆