android - 使用 AndroidX 的分页示例
问题描述
我尝试将 PagingSample(Google 的 android-architecture-components)重构为 AndroidX(AndroidStudio 3.3.0-alpha11,kotlin_plugin=1.3.0-rc-57)
Gradle 构建完成没有错误。调试给出错误:
app/build/tmp/kapt3/stubs/debug/../pagingsample/CheeseAdapter.java:33:错误:找不到符号私有静态最终androidx.recyclerview.widget.DiffUtil.ItemCallback diffCallback = null;^符号:T 类位置:CheeseAdapter 类
解决方案
答案很简单:
import android.view.ViewGroup
import androidx.paging.PagedListAdapter
import androidx.recyclerview.widget.DiffUtil
class CheeseAdapter : PagedListAdapter<Cheese, CheeseViewHolder>(/*diffCallback)*/
object : DiffUtil.ItemCallback<Cheese>() {
override fun areItemsTheSame(oldItem: Cheese, newItem: Cheese): Boolean =
oldItem.id == newItem.id
override fun areContentsTheSame(oldItem: Cheese, newItem: Cheese): Boolean =
oldItem == newItem
}) {
override fun onBindViewHolder(holder: CheeseViewHolder, position: Int) {
holder.bindTo(getItem(position))
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CheeseViewHolder =
CheeseViewHolder(parent)
}
推荐阅读
- swift - 在 SwiftEntryKit 中按下条目按钮后执行操作
- php - 在不超过时间限制的情况下保存许多csv的内容
- xml - XSLT 1.0 嵌套分组和循环
- dsl - DefaultTerminalConverters 的实现以实例化 Integer 而不是 Xtext 中的终端规则抛出 ClassCastException
- javascript - 对象中的数组在传递或 JSON.stringified 时为空
- android-studio - Android Emulator 反复丢弃 Charles Proxy
- javascript - 如何根据用户在提示中输入的数字减少 JavaScript 中的 for 循环?
- java - 如何以编程方式在异步任务中等待android(java)中的wifi连接(Acces Point)?
- python - 在 Python asyncio 中创建并发任务之间的依赖关系
- kubernetes - K8S 集群中 Libvirt 的 Prometheus Adapter 自定义指标