- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 ItemKeyedDataSource 实现了新的 PagedListAdapter。我的列表包含带有“赞”按钮的提要项目。单击“喜欢”按钮应刷新该项目。
为了在点击“赞”按钮时刷新我的列表项,我更新了我的 Firestore 后端中的状态,并在我的 ItemKeyedDataSource 上调用了 invalidate。但这将刷新我的整个列表,同时跳回到我的列表顶部。
我不确定这是否是正常行为,所以我调试并检查了我的 DiffUtil.ItemCallback 是否是问题所在。但是这两个方法(areItemsTheSame 和 areContentsTheSame)永远不会被调用。
那么在 DataSource 上调用 invalidate 是触发单个项目更新的方式吗? DiffUtil 会帮助我在更新后跟踪我在列表中的位置,还是我看错了方向?
最佳答案
你可以像普通适配器一样修改,唯一的区别是你要使用getItem(position)
fun changeFavState(position: Int, isFavorite: Boolean) {
getItem(position)?.let {
it.isFavorite = isFavorite
}
notifyItemChanged(position)
}
关于android - 如何更新 PagedListAdapter 中的单个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53972676/
我想使用通用类作为 PagingList<> 中的项目 interface GenericInterface{} class GenericImplementation: GenericInterfa
我有一个带有搜索操作的操作栏菜单项。我有一个 recyclerview,它从 pagedlistadapter 加载 pagedlist 的地方绑定(bind)数据。我需要过滤适配器数据白色搜索 Vi
我正在使用 PagedListAdapter 并且必须在屏幕恢复时重新加载数据。 对于这种情况,我不想在加载数据时清除适配器并将其显示为空或占位符。 我想显示以前的数据,并在收到新数据后用差异更新它。
我已经使用 ItemKeyedDataSource 实现了新的 PagedListAdapter。我的列表包含带有“赞”按钮的提要项目。单击“喜欢”按钮应刷新该项目。 为了在点击“赞”按钮时刷新我的列
我有一个 Android 待办事项列表应用程序,其中包含使用 Room 访问的 SQLite 数据库。然后我想在抽屉导航中列出可用列表。所以我使用了分页库。现在 RecyclerView 是空的,我不
本主题的小故事:应用程序在确认后仅通过对话框更新单击行的值。在房间数据库上使用分页方案。 当一个项目被添加或删除时,最新的数据集被获取并传递给 submitList 方法,然后所有的变化都会被看到并且
我正在使用 Room 和 Paging 库来显示类别。 我的实体: @Entity(tableName = Database.Table.CATEGORIES) data class Category
我正在使用新的 Paging 库从休息 API 加载分页数据,但我无法理解如何在新数据缓存在 Room 后继续加载它。目前,我有一个 PagedListAdapter,它通过使用边界回调从 API 加
我正在使用 Paging library . 目前,我想按 PagedListAdapter 中的描述对项目进行排序(使用 SortList ),但我还没有想出如何去做。 使用 PagedListAd
每次我调用无效数据时,我的 DIFF_UTIL 都不会被使用。日志未显示,整个列表已更新为新数据,导致屏幕移动位置等。不确定这里的问题是什么。 我有PagedListAdapter与 LiveData
我有一个使用 PagedListAdapter 的 RecyclerView。我想刷新列表(即从我的 DataSource 获取数据)并自动滚动到顶部。 这是我的 RecyclerView:
我想使用 android.arch.paging 组件在列表中 header 。 通常这很容易,只需为 RecyclerView 适配器添加不同的类型来处理和创建包含标题的项目的新列表。 但是对于分页
我有 PagedListAdapater: class TrackedActivityAdapter constructor(diffUtilCallback: DiffUtil.ItemCallba
我正在使用来自 Android 分页库的 PagedListAdapter 和 PageKeyedDataSource。我想在屏幕旋转后恢复 recyclerview 位置。我怎样才能做到这一点?Li
我有一个带有 PagedListAdapter 的回收站 View 。 在 onCreate 我有这段代码: viewModel.recentPhotos.observe(this, Observe
我使用 Paging with Retrofit 从 REST API 加载通知数据列表。 当我按下通知项的删除按钮时,我调用删除 API 将其删除。删除 API 响应成功后从 PagedListAd
我一直在试验 PagedListAdapter,但无法弄清楚如何正确恢复适配器位置。 最后一次尝试是从当前列表中保存 lastKey。 override fun onSaveInstanceState
通常在 RecyclerView 上,当 RecyclerView 上没有项目时,我会显示一个空 View ,因为我控制对 RecyclerView 的所有更新通过 notify 方法,这非常简单,但
我基于 PagedListAdapter 实现了分页功能,并且我已经过检查工作正常。我尝试实现以如果 ListAdapter 项为空则显示 EmptyHolder 为特色。在调用 submitList
我使用 android.arch.paging.PagedListAdapter 和 数据库作为 RecyclerView 中显示项目的数据源. 每个项目都有日期。我还在 override fun o
我是一名优秀的程序员,十分优秀!