Android BaseRecyclerViewAdapterHelper拖动和侧滑删除

news/2024/11/29 21:26:04/

1.适配器


adapter继承BaseItemDraggableAdapte

public class ItemDragAdapter  extends BaseItemDraggableAdapter<BsInventoryBeanSub, BaseViewHolder> {//BsInventoryBeanSub是我的Bean类public ItemDragAdapter(List<BsInventoryBeanSub> data) {super(R.layout.layout_instock_sub_item,data);//R.layout.layout_instock_sub_item为布局文件}@Overrideprotected void convert(BaseViewHolder holder, BsInventoryBeanSub inStockBeanSub) {//填充数据holder.setText(R.id.barCodeTv, inStockBeanSub.getBarCode());holder.setText(R.id.qtyTv, inStockBeanSub.getNum());//数量}//绑定数据public void bindData(Collection<BsInventoryBeanSub> data) {if (data != null) {mData = new ArrayList<>(data);notifyDataSetChanged();}}//替换数据,更新界面public void updateData(List<BsInventoryBeanSub> list) {mData.clear();mData.addAll(list);notifyDataSetChanged();}
}

2.布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="30dp"android:background="#fff"android:orientation="horizontal"><TextViewandroid:id="@+id/barCodeTv"android:background="@drawable/border"android:layout_width="0dp"android:textSize="14dp"android:layout_height="match_parent"android:layout_weight="4"android:layout_gravity="center"android:gravity="center"/><TextViewandroid:id="@+id/qtyTv"android:layout_weight="2"android:background="@drawable/border"android:layout_gravity="center_vertical"android:gravity="center"android:textSize="14dp"android:layout_width="0dp"android:layout_height="match_parent" /></LinearLayout>

3.Activity代码

拖拽和滑动删除的回调方法

OnItemDragListener onItemDragListener = new OnItemDragListener() {@Overridepublic void onItemDragStart(RecyclerView.ViewHolder viewHolder, int pos){}@Overridepublic void onItemDragMoving(RecyclerView.ViewHolder source, int from, RecyclerView.ViewHolder target, int to) {}@Overridepublic void onItemDragEnd(RecyclerView.ViewHolder viewHolder, int pos) {}
}OnItemSwipeListener onItemSwipeListener = new OnItemSwipeListener() {@Overridepublic void onItemSwipeStart(RecyclerView.ViewHolder viewHolder, int pos) {}@Overridepublic void clearView(RecyclerView.ViewHolder viewHolder, int pos) {}@Overridepublic void onItemSwiped(RecyclerView.ViewHolder viewHolder, int pos) {//侧滑删除可以在这里进行数据更新ToastUtils.showShort(mInstockSubBeanList.get(pos).getBarCode()+"删除成功");BsInventoryPDDDaoImpl.deleteInstockSub(mInstockSubBeanList.get(pos));mInstockSubBeanList = BsInventoryPDDDaoImpl.findAllInstockSubNyBillNo(mInstockBean);mAdapter.updateData(mInstockSubBeanList);}
};
Adapter设置
//设置数据源
mAdapter = new ItemDragAdapter(mInstockSubBeanList);ItemDragAndSwipeCallback itemDragAndSwipeCallback = new ItemDragAndSwipeCallback(mAdapter);
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itemDragAndSwipeCallback);
//设置RecyclerView
itemTouchHelper.attachToRecyclerView(mInvSubRecyclerView);// 开启拖拽
mAdapter.enableDragItem(itemTouchHelper, R.id.barCodeTv, true);
mAdapter.setOnItemDragListener(onItemDragListener);// 开启滑动删除
mAdapter.enableSwipeItem();
mAdapter.setOnItemSwipeListener(onItemSwipeListener);

 


http://www.ppmy.cn/news/278582.html

相关文章

android侧滑菜单的监听,Android侧滑菜单控件DrawerLayout使用详解

DrawerLayout是Android V4包下一个带有侧滑功能的布局控件,可以根据手势展开与隐藏侧边栏,也可以随着侧边栏的点击改变主界面区的内容。并且只需要按照DrawerLayout规定的布局格式进行布局,即可实现左右侧滑效果。 一、约定的抽屉布局 DrawerLayout的布局一般分为三个部分:…

Android-侧滑菜单(三)

新整理的仿QQ侧滑菜单实现的例子&#xff0c;使用android.support.v4.widget.DrawerLayout和android.support.design.widget.NavigationView实现的&#xff0c;下面先上两张效果图&#xff1a; 效果图也看到了&#xff0c;那么咱们废话不多说&#xff0c;直接上代码&#xff1a…

Compose 实现页面侧滑返回

最近研究了一下&#xff0c;使用Compose如何去做类似ios的全屏侧滑返回效果&#xff0c;下面展示成果&#xff1a; 总共需要几个功能进行搭配使用&#xff1a; 1.Accompaint的Pager模块 2.通过反射使当前窗口透明以及不透明 思路分析&#xff1a; pager类似于android原生的…

RSA算法基础原理

目录 一、简介二、缺点三、数论基础1. 素数2. 模运算3. 互质关系4. 欧拉函数第一种情况第二种情况第三种情况第四种情况第五种情况 5. 欧拉定理6. 模反元素 四、RSA密钥生成步骤1. 随机选择两个不相等的质数p和q。2. 计算p和q的乘积n。3. 计算n的欧拉函数φ(n)。4. 随机选择一个…

在CSDN逮到一个阿里10年老测试,聊过之后收益良多...

老话说的好&#xff0c;这人呐&#xff0c;一但在某个领域鲜有敌手了&#xff0c;就会闲得蛋疼。 前几天我在上班摸鱼刷CSDN的时候认识了一位阿里测试大佬&#xff0c;在阿里工作了10年&#xff0c;因为本人天赋比较高&#xff0c;平时工作也兢兢业业&#xff0c;现在企业内有…

Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别

文章目录 1. 配置类的编写与Bean的注册2. 注解驱动IOC的依赖注入与XML依赖注入对比3. Spring中组件的概念4. 组件注册5. 组件扫描5.1 使用ComponentScan的组件扫描5.2 xml中启用component-scan组件扫描5.3 不使用ComponentScan的组件扫描 6. 组件注册的其他注解7. 将注解驱动的…

数据管理治理的发展趋势

当前&#xff0c;数据驱动型业务战略与信息产品的潜力比以往任何时候都要大。对于多数企业机构而言&#xff0c;数据分析与管理已成为它们业务战略的重要驱动力。数据分析与管理领导者正在通过挖掘数据价值来驱动数字化转型、创造盈利机会、改善客户体验和重塑行业格局。 随着云…

推荐网址

http://www.yuanma.org/data/2006/0621/article_896.htm http://zh.wikipedia.org/zh-cn/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#.E7.A9.A9.E5.AE.9A.E7.9A.84