如何在MVVM中使用ProgessDialog显示进度

时间:2018-07-10 10:23:32

标签: android mvvm viewmodel progressdialog

我使用MVVM编写了一个Android应用,其中我从ViewModel调用webservice并将结果存储在RoomDB中。在视图中,我正在观察ViewModel中的实时数据。 使用Retrofit从Web服务获取数据时,我需要显示ProgressDialog。 我应该在哪里编写代码来显示progressdialog,因为我不应该在View组件之外的其他体系结构组件中使用userinterface小部件? 谁能帮我如何处理这种情况?

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,您可以通过在活动中调用对话框并在视图模型观察器中隐藏对话框来实现。这就是我在视图中处理进度对话框的方式。

代码::

    private fun callWebApi() {
    // show progress dialog 
    showLoader()

    mViewModel?.loadMethod()
        ?.observe(this, Observer { mModel: BaseModel? ->
            // hide loader
            hideLoader()
            // implement code
        })
    }
}