【发布时间】:2018-10-11 20:25:24
【问题描述】:
在重构为 androidx(通过 AndroidStudio)后,我的分页库中的 PageKeyedDataSource 因此错误而中断:
java.lang.IllegalStateException: Cannot invoke observeForever on a background thread
代码:
class TransactionDataSource(val uid: String, groupIdLiveData: LiveData<GroupNameIdPair>, var groupId: String) : PageKeyedDataSource<DocumentSnapshot, Transaction>() {
[...]
init {
val observer: Observer<GroupNameIdPair> = {
invalidate()
groupId = it.id
}
groupIdLiveData.observeNotNull(observer)
}
[...]
由于 PageKeyedDataSource 默认在后台执行并且依赖于 LiveData,我想知道为什么这会在 LifeData 的 2.0.0 版(AndroidX 重构)中中断。 这是一个错误吗?有没有办法让它再次工作?
【问题讨论】:
标签: android android-architecture-components androidx android-livedata android-architecture-paging