android - 在 Android 中使用 PagedList 时如何从 ViewModel 通知 Activity?
问题描述
我曾经LivePagedListBuilder
在LiveData<PagedList<T>>
我的Activity
LivePagedListBuilder(DeviceDataSourceFactory(), config).build().observe(this, Observer { adapter.submitList(it) })
列表生成得很好ViewModel
,每个项目中都有一个按钮,可以将自己从列表中删除
fun remove() {
// additional work here
}
我用谷歌搜索,发现我们可以调用adapter.notifyItemRemoved()
从列表中删除该项目,但只Activity
保存adapter
. 因此,我需要一种方法ViewModel
来说明Activity
需要做什么。我试过像
Observer {
it?.forEach { item -> item.event.observe() } // where we observes the event
adapter.submitList(it)
}
但我发现无论有多少数据,这段代码只会被调用两次。我猜它被调用,loadInitial
然后loadAfter
在引用被链接后,它不会进入Observer
.
解决方案
推荐阅读
- mysql - 如何总计 3 个选择语句计数?
- python - python的apply()函数中的运行时错误
- javascript - Firebase 与 async/await 但我无法部署有一个错误,我可以使用 async
- html - 保证金自动不工作
- reactjs - 如何将 refetchQueries 与 reason-apollo 一起使用?
- angular - Angular 组件模板全局动态字体
- asynchronous - 即使结果不匹配,PlaySpec 测试也通过
- python - 数据向量化(get_dummies 3 列到矩阵)
- c# - C# 从 Visual Studio 处理 UNIX 权限的最佳方式
- java - 连接到 sqlite 数据库、执行准备好的语句并关闭与 java 的连接的正确方法是什么?