Android体系结构组件房间ViewModel CompleteableFormAction
所以我想我会尝试一个小方面的项目。 我跟随了Florina Muntenescu的示例项目: android-architecture-components
我特别注意类: UserActivity.kt , UserViewModel.kt , UserDao.kt
UserViewModel#updateUserName()
返回一个Completable ,并且必须订阅返回onComplete
或onError
当我尝试把viewModel.updateUserName(userName)
等价物放入一个RxBindings
链。 如果我通常订阅我通过了Disposable!
在最后的.subscribe
其值"DISPOSED"
问题是这不会发出一个错误 ,因此永远不知道是否有问题
我怎么能适应下面的代码,以便最终的.subscribe
会返回正确的事件?
RxTextView.textChanges(editText) .debounce(250L, TimeUnit.MILLISECONDS, schedulers.main) .subscribeOn(schedulers.main) .observeOn(schedulers.disk) .map({ name -> viewModel.updateUserName(name) .subscribe( { Timber.d(“Success”) }, { error -> Timber.d(error, “something went wrong”)) }) }) .observeOn(schedulers.main) .subscribe( { Timber.d("name changed $it}") }, { Timber.e(it, "name error") })
提前致谢
M.
打开这个
.map({ name -> viewModel.updateUserName(name) .subscribe( { Timber.d(“Success”) }, { error -> Timber.d(error, “something went wrong”)) }) })
对此
.flatMapCompletable name -> viewModel.updateUserName(name))