我使用NetworkModule模块中的Retrofit
从API中获取列表。现在,我想使用RxJava将结果列表安装在Room
数据库中,而不使用AsyncTask
。但是在我的insertAll
方法中,我得到一个警告,因为它是val,所以无法更改我的联系人。我在做什么错?
我的insertAll方法:
override fun insertAll(contact: List<Contact>) {
val disposable = CompositeDisposable()
disposable.add(contactsRepository.modelSingle()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object : DisposableSingleObserver<List<Contact>>() {
override fun onSuccess(t: List<Contact>) {
contact = t
}
override fun onError(e: Throwable) {
}
}))
}
您是否声明了此代码的val contact
?如果是这样,请将其更改为var contact
。
val就像Final变量,在kotlin中被称为immutable。