gpt4 book ai didi

android - RecyclerView ItemTouchHelper 操作拖动结束

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:58 30 4
gpt4 key购买 nike

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

我可以通过我的 ItemTouchHelper 获得这些信息吗?

感谢帮助

马克:目前我只是在用户仍然移动项目的时候:)

@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

来定义可以放置对象的位置
@Override
public boolean canDropOver(RecyclerView recyclerView, RecyclerView.ViewHolder current, RecyclerView.ViewHolder target) {
return current.getItemViewType() == getItemViewType();
}

更新您要使用的适配器 onMove 这可以在拖动操作期间调用多个

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

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

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

关于android - RecyclerView ItemTouchHelper 操作拖动结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425494/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com