本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点
在用DataBinding时要注意DataBinding访问的是静态方法
在kotlin中就要用companion object和@JvmStatic
class ImageViewBindingAdapter {
//里面的BindingAdapter方法必须是静态方法,否则会编译会报错
//DataBinding调用必须是静态方法
companion object {
@JvmStatic
@BindingAdapter("image")
fun setImage(imageView:ImageView, url: String){
if (!TextUtils.isEmpty(url)){
//加载网络图片
}else{
imageView.setBackgroundColor(Color.GRAY)
}
}
}
}
paging3分页数据错乱的问题
在计算paging的prevKey和nextKey,也就是上一页,下一页的时候,需要考虑PagingConfig中的initialLoadSize参数
fun loadMovie(): Flow<PagingData<Movie>> {
return Pager(
config = PagingConfig(
pageSize = 8,
//第一次加载的数量,16也就是2页,默认是3*pageSize
initialLoadSize = 16
),
pagingSourceFactory = {
MoviePagingSource()}
).flow
}
class MoviePa