博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RecyclerView 踩坑
阅读量:6173 次
发布时间:2019-06-21

本文共 2202 字,大约阅读时间需要 7 分钟。

一、RecyclerView设置拖动后怎么监听拖动的开始和结束

ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.Callback() {            @Override            public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {                //首先回调的方法 返回int表示是否监听该方向                int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT;//拖拽//                int swipeFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;//侧滑删除                return makeMovementFlags(dragFlags, -1);            }            @Override            public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {                //滑动事件                Collections.swap(mList, viewHolder.getAdapterPosition(), target.getAdapterPosition());                mAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());                return true;            }            @Override            public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) {                if (viewHolder == null) {//                   onMoveEnd(); //拖动结束                    ToastUtil.showShort(mContext,"拖动结束");                    mAdapter.notifyDataSetChanged();                } else {//                   onMoveStart();  //拖动开始                }                super.onSelectedChanged(viewHolder, actionState);            }            @Override            public void onSwiped(final RecyclerView.ViewHolder viewHolder, int direction) {                //侧滑事件//                onItemDelete(viewHolder.itemView, viewHolder.getAdapterPosition());//                mCAdapter.notifyItemRemoved(viewHolder.getAdapterPosition());            }            @Override            public boolean isLongPressDragEnabled() {                //是否可拖拽                return true;            }            @Override            public boolean isItemViewSwipeEnabled() {                //是否可以删除                return false;            }        });        helper.attachToRecyclerView(mRvEdtSort); //设置给RecyleView

重写 onSelectedChanged 方法,并且判断是否拖动的开始和结束。

 

二、

 

转载于:https://www.cnblogs.com/woaixingxing/p/6840860.html

你可能感兴趣的文章
8月18日云栖精选夜读:阿里视频云最强转码技术揭秘:窄带高清原理解析+用户接入指南...
查看>>
涨姿势:工业物联网与大数据融合的四个重点
查看>>
社会学视角下的大数据方法论及其困境
查看>>
《云计算:原理与范式》一1.7 平台即服务供应商
查看>>
百度成立“百度搜索公司”:固本拓新驱动生态裂变
查看>>
宇宙风暴?才怪!瑞典暗指俄罗斯黑客攻击航空控制系统
查看>>
系统进程管理工具Process Explorer
查看>>
富士通仍执着SPARC架构芯片 将坚持推新
查看>>
易宪容:企业要利用大数据挖掘潜在需求
查看>>
微软声称Win10周年更新为Edge浏览器带来更好电池寿命
查看>>
混合云是企业IT的未来吗?
查看>>
LINE在日本取得成功 但全球化之路还很长
查看>>
红帽云套件新增QuickStart Cloud Installer,加快私有云部署
查看>>
MapXtreme 2005 学习心得 一些问题(八)
查看>>
流量精细化运营时代,营销SaaS之使命——流量掘金
查看>>
雅虎同意出售核心资产
查看>>
Win10大丰收的节奏 微软收编iOS全部150万应用
查看>>
智慧城市要除“城市病” 中兴通讯开辟新增长极
查看>>
Opera已确认解散iOS开发团队
查看>>
DevOps:新的业务浪潮
查看>>