Android体系结构组件房间ViewModel CompleteableFormAction

所以我想我会尝试一个小方面的项目。 我跟随了Florina Muntenescu的示例项目: android-architecture-components

我特别注意类: UserActivity.kt , UserViewModel.kt , UserDao.kt

UserViewModel#updateUserName()返回一个Completable ,并且必须订阅返回onCompleteonError

当我尝试把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))