问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

recyclerview拖拽排序怎么样监听抬起

发布网友 发布时间:2022-04-30 04:31

我来回答

2个回答

热心网友 时间:2023-10-12 21:38

这要看你要不好获取抬起后被拖拽的ViewHolder的最新位置了,如果不需要则从写ItemTouchHelper.Callback的onSelectedChanged()方法,代码如下:

@Override
public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) {
    super.onSelectedChanged(viewHolder, actionState);
    switch (actionState) {
        case ItemTouchHelper.ACTION_STATE_SWIPE:
            //开始删除
            break;
        case ItemTouchHelper.ACTION_STATE_DRAG:
            //开始拖拽
            break;
        case ItemTouchHelper.ACTION_STATE_IDLE:
            //拖拽或删除结束,这时 viewHolder 参数为 null 。
            break;
    }
}

如果需要则从写ItemTouchHelper.Callback的onSelectedChanged()方法和clearView()方法,代码如下:

private int mLastActionState;
@Override
public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) {
    super.onSelectedChanged(viewHolder, actionState);
    switch (actionState) {
        case ItemTouchHelper.ACTION_STATE_SWIPE://侧滑,将要删除条目。
        case ItemTouchHelper.ACTION_STATE_DRAG://拖拽,将要移动条目。
            mLastActionState = actionState;
            break;
    }
}

@Override
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
    super.clearView(recyclerView, viewHolder);
    switch (mLastActionState) {
        case ItemTouchHelper.ACTION_STATE_DRAG:
            //拖拽结束
            break;
        case ItemTouchHelper.ACTION_STATE_SWIPE:
            //删除结束
            
            //注意:在这里获取的viewHolder.getLayoutPosition()跟原来的position不一样,有偏差,偏差为1。
            break;
    }
}

热心网友 时间:2023-10-12 21:38

获取 RecyclerView 的滑动距离: 滑动到一定程度后清零是因为 getChildAt(0) 获得的是第一个可见view 用LinearLayoutManager的recyclerview测试了一下确实如此。 如果LayoutManager用的是LinearLayoutManager 可以用下面的办法,还能向下滑动多
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
word绘制施工进度横道图!表格好了,中间的横道杂往上打!!!急急急_百 ... 如何用 SWOT 模型进行自我分析? 求朋友圈、公众号文案排版工具? 写文案用什么软件 回复文案的软件推荐 学习挖掘机需要什么条件 学挖机新手从哪里学 挖掘机学习都学什么 新手学开挖掘机先学哪些 手工麦芽糖怎么做? 麦芽糖怎么做小零食 如何监听到RecyclerView中列表项Item的滑动手势 RecyclerView如何可以纵向滚动也可以横向滚动,像会横向滚动的listview那样,可以左右滑,也可以上下滑 recyclerview手动滑动和自动滑有什么区别 recyclerview滑动卡顿,怎么解决 关于Android RecyclerView滑动卡顿怎么解决 如何实现listview的item侧滑删除和viewpager滑动可以同时使用吗 怎么关闭android recycleview自带的滑动效果 PowerDesigner怎么破解,激活PowerDesigner方法 recyclerview怎么做到侧滑删除 vivoY13手机如何用云服务进行备份?可以发图讲解吗? vivox5手机怎么备份 个体户办税务登记证,带营业执照正本还是副本? 个体工商户营业执照上写着副本数1是什么意思 个体工商户营业执照副本丢失 个体户注销营业执照没有正副本怎么办 苹果id失效了退出不了 个体户营业执照正副本遗失,怎么办? 个体工商户营业执照有没有副本? 个体户营业执照副本丢失后果 小米煎饼怎么样 网上怎么能查到箱子是不是上船了呢 青岛海运货物出口通关情况从哪个网站查询 有箱号或提单号网上在哪能查到还箱点? 谢谢! 青岛港捷丰提单号查询OTAO005531- 问一问 怎样查询集装箱是否集港 全部船公司提单号的提点,知道的说下,谢谢 形容“女子肌肤”的成语有哪些? 我在青岛港出的货,到国处后客户说短重,我要怎么处理? 青岛捷丰场所站提单号查询 "形容女生皮肤好"的成语有哪些? 船公司提单号特点 出口的货物集装箱找不到了 怎样形容皮肤好? 形容女人皮肤嫩的成语 79年羊和77年蛇的婚姻怎样 79年羊和77年蛇的婚姻怎样? 77年的女人和79年的男人结婚好吗? 79年和77年可以婚配吗? 77年男和79年女结婚配吗 77年的蛇和79年的羊婚姻和配吗