在 Android 开发中,ViewModel 是一个非常重要的组件,尤其是在 MVVM(Model-View-ViewModel)架构中。但是在使用 ViewModel 时,如何正确管理和使用 Context 却是一个常见的难题。本文将通过一个实例,探讨如何解决 ViewModel 中 Context 未初始化的常见问题,并提供一些最佳实践。
问题背景
假设我们有一个应用,其中 ViewModel 负责处理用户的撤销操作(undo)。在用户触发撤销操作时,ViewModel 试图展示一个确认对话框,但有时会因为 Context 未初始化而崩溃。以下是简化的代码示例:
fun onUndo() {
ConfirmDialog()
.setT