重构为 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 重构)中中断。这是一个错误,有没有办法让它再次工作?