一、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 方法,并且判断是否拖动的开始和结束。

二、RecyclerView加载更多用notifyDataSetChanged()刷新图片闪烁

最新文章

  1. Ancient Printer[HDU3460]
  2. iOS 开发之路(WKWebView内嵌HTML5之图片上传) 五
  3. 浏览器对象模型BOM小结
  4. java中,去除空白的方法
  5. paip..禁用mmseg 的默认词库. . 仅仅使用自定义词库from数据库.
  6. Oracle中的单行函数
  7. php字符串函数和数组函数
  8. NYOJ-253 凸包
  9. 疯狂的表单-html5新增表单元素和属性
  10. [React] Extracting Private React Components
  11. 未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。
  12. HDU 3265 Posters ——(线段树+扫描线)
  13. php+jquery+ajax+json简单小例子
  14. BZOJ 2006: [NOI2010]超级钢琴 [ST表+堆 | 主席树]
  15. Panel 中加载窗体
  16. linux 两个查找工具 locate,find
  17. 一些Android手机的平台信息
  18. autoMapper的介绍
  19. mysql 拒绝访问的解决办法
  20. 记录:CSS选择器学习

热门文章

  1. [BZOJ1194][HNOI2006][强连通分量Tarjan+dfs]潘多拉的盒子
  2. ios开发 Socket通信
  3. 认识多渲染目标(Multiple Render Targets)技术【转】
  4. spring in action 4 (学习笔记1)
  5. idea 去掉never used 提示
  6. NYOJ82 迷宫寻宝(一)【BFS】
  7. vscode - 选中多行操作
  8. Android Asynchronous Http Client 中文教程
  9. python——定时闹钟讲解
  10. git merge 和 git rebase 小结(转)