android – 如何删除/删除PagedListAdapter项

目前我正在使用 Android架构组件进行App开发一切都与分页库一起工作现在我想删除recyclelerview项使用PagedListAdapter来填充这个我们需要添加数据源并且从数据源列表更新使用LiveData我想要删除列表中的项目notifyItemRemoved()正在从PagedList工作我收到此异常:
java.lang.UnsupportedOperationException


java.util.AbstractList.remove(AbstractList.java:638)

解决方法

由于您不能直接修改PagedList中的数据,因为我认为它是不可变的,因此在这种情况下实现删除项目的关键是在代码中的某处维护一个后端数据集,它代表到目前为止您收到的所有数据. ArrayList为我工作.

如果要删除项目,请将其从支持数据集中删除,并在数据源上调用invalidate.这将触发loadInitial()调用,您可以在其中将后备数据集传递给callback.onResult()函数.您的PagedListAdapter将使用您提供的DiffUtil.ItemCallback来巧妙地确定其数据已更新并相应地更新自身.

本教程帮助我了解正确的流程,以便在使用分页库时正确删除项目:
https://medium.com/@FizzyInTheHall/implementing-swipe-to-delete-with-android-architecture-components-a95165b6c9bd

可以在此处找到与教程相关的repo:
https://gitlab.com/adrianhall/notes-app

相关文章

AdvserView.java package com.earen.viewflipper; import an...
ImageView的scaleType的属性有好几种,分别是matrix(默认)...
文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...