ditclear / MVVM-Android

Build MVVM APP With Kotlin,完整示例见PaoNet
http://www.jianshu.com/c/50336d57e9b0
192 stars 38 forks source link

疑问关于打开和关闭加载 #1

Closed ysmintor closed 6 years ago

ysmintor commented 6 years ago

PaoViewModel.kt

    private fun startLoad()=loading.set(true)
    private fun stopLoad()=loading.set(false)

那么,外部要怎么来打开和关闭呢?对kotlin这些不太熟悉,希望指教。

ditclear commented 6 years ago

在android开发中,通常情况下,加载和关闭加载都只出现在请求网络数据情况下. 在ViewModel中配合Rxjava的doOnSubscribe和doAfterTerminnate就可以很好的处理加载了,不需要在外部进行关闭。 假设无法避免这种情况,那么你只好根据实际情况进行适当的调整或者在View层使用一个progressDialog在rxjava订阅的地方去处理Loading(也是使用doOnSubscribe和doAfterTerminnate)。 当然经过这么长时间实践,个人认为Loading的时机也是一个比较模糊的,近期也在总结这方面的经验,预计也会出一个小章来介绍MVVM中各种情况下的状态管理,也欢迎指教

ysmintor commented 6 years ago

感谢长文回复,期待有这方面的总结!