首页
学习
活动
专区
圈层
工具
发布

【RecyclerView】 十一、RecyclerView 数据更新 ( 删除单条数据 | 批量删除数据 )

) 方法 , 传入的参数是被删除的元素的首个索引 , 以及插入元素的个数 ; 该方法的作用是通知任何被注册的观察者 , 从 positionStart 位置开始的的 itemCount 个 item 元素对应的数据被从数据集中删除...; ( 旧的数据集中的索引位置 ) int itemCount 参数 : 数据集中被删除元素个数 ; 注意 : 调用该方法后 , 只会刷新与该位置相关的 item 元素 , 不会刷新其它元素 , 即使数据改变了...中的其它 item 元素不变 ; 代码示例 : 删除前 3 个数据 , 通知适配器 , 原数据集中的从第 0 个元素开始的 3 个数据元素被删除了 ; //...数据源 */ private ArrayList names = new ArrayList(); /** * 适配器...从布局中获取 RecyclerView RecyclerView recycler_view = findViewById(R.id.recycler_view); /

4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RecycleView从0到0.1 | 技术创作特训营第一期

    二、RecycleView是什么  RecycleView是Android5.0后谷歌推出的一个用于在有限的窗口中展示大量数据集的控件,位于support-v7包中。...可以看到该适配器类主要有3个方法和1个自定义ViewHolder组成:onCreateViewHolder: 创建ViewHolder并返回,后续item布局里控件都是从ViewHolder中取出。...RecycleView提供了三种布局管理器:LinearLayoutManager: 线性布局,以垂直或水平滚动列表方式显示项目。GridLayoutManager: 网格布局,在网格中显示项目。...StaggeredGridLayoutManager: 瀑布流布局,在分散对齐网格中显示项目。...当我们定义好接口后,我们在onBindViewHolder()方法中为holder.itemView(itemView是列表中的每一个item项)设置了点击事件监听,然后在onClick()中判断是否有用户传递过

    82711

    【Android 事件分发】ItemTouchHelper 实现拖动排序

    1、设置移动标志 ( 拖动/滑动 ) 2、启用长按拖动功能 3、拖动距离判定设置 4、设置拖动排序触发操作 5、RecyclerView.Adapter 适配器中的交换排序操作 三、完整代码实现...@NonNull RecyclerView.ViewHolder target) { // 拖动后交换数据, 该方法中交换 Adapter 中的数据, 并刷新界面 Log.i...适配器中的交换排序操作 删除数据列表中的元素 , 并调用 notifyItemRemoved 触发删除动画 ; public class Adapter extends RecyclerView.Adapter...从布局中获取 RecyclerView recycler_view = findViewById(R.id.recycler_view); //2 ....@NonNull RecyclerView.ViewHolder target) { // 拖动后交换数据, 该方法中交换 Adapter 中的数据, 并刷新界面 Log.i

    2.5K10

    来了!他来了!支持MVVM的BRVAH来了!

    使用本控件的前提,项目使用MVVM开发模式,列表适配器是使用BRVAH的 BaseRecyclerViewAdapterHelper万能适配器(本控件支持非使用AndroidX和使用AndroidX的条件...多布局实现,item不实现MultipleItem的调用方式 如何用databinding模式添加多个头部和脚部,并且有各自事件 空布局及下拉刷新 侧滑删除 长按拖动 侧滑删除和长按拖动相结合 ExpandableItem...从demo中,就可以看到项目结构精简 如果你项目中,是不使用AndroidX的,请食用该地址: https://github.com/CaesarShao/CSBrvahBinding...然后是CSItemBindingAdapter这个适配器,这就是本控件核心的适配器了,在这个adapter中,调用了databinding的绑定方法。...在构造方法中,有一个setSpan()方法,这个方法就是适配器每个item占几个的回调,一般情况下,多布局Grid形式的,并且item所占格式不同的,基本都要回调这个方法,设置完该方法后,别忘记在布局中

    1.3K20

    Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

    二、项目知识储备     项目中需要用到的三方:     1、RecyclerView         列表,用于显示扫描得到的所有蓝牙设备     2、BaseRecyclerViewAdapterHelper...recyclerView ; //列表 private ScanDeviceAdapter adapter; //设备扫描适配器 private ArrayList... permissionList = new ArrayList(); // 将需要获取的权限加入到集合中 ,根据集合数量判断 需不需要添加 for... permissionList = new ArrayList(); // 将需要获取的权限加入到集合中 ,根据集合数量判断 需不需要添加 for...: https://github.com/BestCoderXQX/MagkareBle4.0 项目使用说明: 1、点击按钮:'选择需要连接的传感器设备'、跳转新界面 2、点击'开始扫描'按钮,会出现很多设备的

    5.5K80

    RecyclerView必知必会

    为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...其实万能适配器的概念在ListView就已经存在了,即base-adapter-helper。 这里我们只针对RecyclerView,聊聊万能适配器出现的原因。...,因此万能适配器出现了,他能通过以下方式快捷地创建一个Adapter: 是不是很方便。...此方法中可以做一些状态变化时的处理,比如拖拽的时候修改背景色。 clearView(): 用户交互结束时回调。此方法可以做一些状态的清空,比如拖拽结束后还原背景色。

    5.4K20

    RecyclerView 必知必会

    为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...其实万能适配器的概念在ListView就已经存在了,即base-adapter-helper。 这里我们只针对RecyclerView,聊聊万能适配器出现的原因。...,因此万能适配器出现了,他能通过以下方式快捷地创建一个Adapter: ?...此方法中可以做一些状态变化时的处理,比如拖拽的时候修改背景色。 clearView(): 用户交互结束时回调。此方法可以做一些状态的清空,比如拖拽结束后还原背景色。

    3.2K70

    recyclerView源码解析

    2、recyclerkView源码解析首先看recyclerView的注释图片adapter:正如前文所诉,RecyclerView.Adapter 负责提供表示数据集中项目的视图。...可以在不完全脱离父 RecyclerView 的情况下重用 Scrap 视图,如果不需要重新绑定则不修改,或者如果视图被认为是脏的则由适配器修改。...2.1recyclerView的测量方法从源码可以看出,在mLayout就是LayoutManger为null时,recyclerView会走defaultOnMeasure(),mLayout的自动测量模式就是...在step2执行完后就可以调用setMeasuredDimensionFromChildren方法,根据子类的测量布局结果来设置自身的大小2.2recyclerView的onlayoutprotected...2.5ItemTouchHelperitemtouchhelper是recyclerView的一个工具类,为recyclerView提供了滑动消失和拖拽删除的功能。

    94200

    RecyclerView 必知必会

    为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...其实万能适配器的概念在ListView就已经存在了,即base-adapter-helper。 这里我们只针对RecyclerView,聊聊万能适配器出现的原因。...,因此万能适配器出现了,他能通过以下方式快捷地创建一个Adapter: ?...此方法中可以做一些状态变化时的处理,比如拖拽的时候修改背景色。 clearView(): 用户交互结束时回调。此方法可以做一些状态的清空,比如拖拽结束后还原背景色。

    4.8K90

    【Android】RecyclerView循环视图(2)——动态加载数据

    一:在适配器中设置item布局数据 1:ViewHolder中找控件 提问:我们都是设置的相同的数据,怎么样为每一个item设置不同的数据 第一反应去view中查找控件,但是我们已经把view交给ViewHolder...的index索引也是从0开始,所以我们可以利用索引这一点作为桥梁,让holder取到ArrayList中的数据 /** * 有一条item就调用一次这个方法 * 数据如何与...→ new ArticleAdapter(设置适配器,初始化数据) ->ArticleAdapter类构造方法中创建数据 → RecyclerView与Adapter绑定 → getItemCount...,但是Adapter适配器本身不知道容器中数据更新了,size不为0了,所以需要调用notifyDataSetChanged();提醒RecyclerView.Adapter刷新一下信息(像极了村里才通网...+ articles1.size()); } }); (1)数据源ArrayList和Adapter同步删除 问题来了:删除一个item后,数据源的size大小依旧是

    7710

    RecyclerView数据动态更新

    之前在学习ListView的时候如果数据改变,需要调用notifyDataSetChanged()方法来刷新数据,而在RecyclerView中当数据改变时分别调用notifyItemChanged、notifyItemInserted...继续使用上期的案例,首先在RecyclerViewAdapter类中新增一个插入和删除处理的公开方法,RecyclerViewAdapter类修改后的代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter...contenTv = (TextView) itemView.findViewById(R.id.content_tv); } } } 然后在Activity中事件回调的时候进行插入和删除处理...mRecyclerView.setHasFixedSize(true); // 初始化列表数据 initDatas(); // 设置适配器...其实RecyclerView还提供了几个局部刷新的方法,只需要在删除或插入数据的同时,再刷新改变位置item下方的所有Item的位置即可。

    6.7K61
    领券