当前位置: 首页 > 知识库问答 >
问题:

执行多次插入/删除(不在单个范围内)时RecolyerView上的动画

姚阳德
2023-03-14

对于recyclerview,当我们插入一个项目或移除一个项目时,我们可以使用以下API使其动画化:

recyclerView.setItemAnimator(...)
// within the adapter
notifyItemInserted(position);
// or 
notifyItemRemoved(position);
notifyItemRangeInserted(...)
// or
notifyItemRangeRemoved(...)

我不认为https://github.com/wasabeef/recyclerview-animators和https://github.com/gabrielemariotti/recyclerviewitemanimators可以做到这一点。但我希望我错了。

共有1个答案

曹均
2023-03-14

你想派多少就派多少。RecyclerView对所有适配器更改进行批处理,直到下一个布局传递,并将它们一起执行。

因此,在您将A,B,D,G插入C,E,F,H以获得A,B,C,D,E,F,G,H的情况下,您可以分派:

NotifyItemRangeInserted(0,2);//插入A,B,列表变为:ABCEFH

NotifyItemInserted(6);//插入G,列表变为:ABCDEFGH

而RecyclerView会将它们全部动画化在一起。

 类似资料:
  • 我写了一个maven插件,我正在一些项目中使用它。在第一个项目中,它只有一次执行,我可以直接用 在第二个项目中,插件有多个执行,当我尝试上面的命令时,我最终失败了,因为插件尝试使用空参数执行。 请注意,在这两种情况下,插件在作为流程资源阶段的一部分执行时都可以正常工作。只有当我试图执行插件目标时,它才会失败。有人能帮我理解为什么第二个示例尝试使用空白参数执行吗? 第一个项目(一次执行-工程罚款):

  • 用途:我有一个零件列表,每个工作都有变化。 我的每个part#都有3行,这就是为什么我运行“entirerow.delete”3次。 这就是我现在拥有的。

  • 问题内容: 我已经在作用域上定义了一个函数。当我从{{}}内部的视图调用它时,它将执行X次。 控制者 的HTML 您可以在此示例中看到它:http : //jsfiddle.net/rbRvD/2/ 或使用Plunker:http://plnkr.co/edit/LLQ7cKs2fEoBwv0C5XPE 我猜这是用错误的方式完成的,但是为什么执行了那么多次呢? 问题答案: 您的函数运行10次。为什

  • 本文向大家介绍在Python中删除范围内的元素,包括了在Python中删除范围内的元素的使用技巧和注意事项,需要的朋友参考一下 通过使用元素的索引和del函数,可以直接从python删除单个元素。但是在某些情况下,我们需要删除一组索引的元素。本文探讨了仅删除索引列表中指定的列表中那些元素的方法。 使用排序和删除 在这种方法中,我们创建一个包含必须删除的索引值的列表。我们对它们进行排序和反转以保留列

  • 我们有一个场景,每个Cassandra中给定,对于下面的架构: 单个 POST 请求正文包含多个值的详细信息。这将触发单个表上每个 POST 请求的多个插入。 每个INSERT查询如下所示执行: 1个 Cassandra是否确保每个POST请求在单个表上的多个插入上的数据展示一致性?每个POST请求都在Go例程(线程)上处理。后续GET请求应确保检索一致的数据(通过POST插入) 使用批处理语句在

  • 问题内容: 我想一次删除多个数据库条目。仅当3个字段匹配时(此处为:姓名,电子邮件,年龄),才能删除每个条目。 如果我只想删除一个属性,则可以选择: 但是,如果我的病情是由多个领域构成的,那该怎么办? 条件应始终匹配所有3个字段()! 问题答案: 使用方法。