【问题标题】:How to display progress using ProgessDialog in MVVM如何在 MVVM 中使用 ProgessDialog 显示进度
【发布时间】:2018-12-18 03:45:54
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: android mvvm viewmodel progressdialog


    【解决方案1】:

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

    代码::

        private fun callWebApi() {
        // show progress dialog 
        showLoader()
    
        mViewModel?.loadMethod()
            ?.observe(this, Observer { mModel: BaseModel? ->
                // hide loader
                hideLoader()
                // implement code
            })
        }
    }
    

    【讨论】:

    • 我认为这不是正确的方法。因为您在数据更改时不时关闭警报对话框
    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多