为什么我无法在我的 AndroidViewModel class 中访问我的应用程序?

why I can't access my application inside my AndroidViewModel class?

我是 Android 开发新手,尤其是使用 MVVM 模式。我的 viewModel 需要上下文,所以我使用 AndroidViewModel 通过 application 获取 context,但我不知道为什么我无法访问应用程序

class CreateEventViewModel(application: Application) : AndroidViewModel(application) {

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}

在主构造函数中使用 private val application:Application

下面的例子: 试试这个

class CreateEventViewModel(private val application: Application) : AndroidViewModel(application) {

fun checkIfItHasInternetConnection() {

    if (InternetConnection.checkConnection(application)) {

    }

}
}

请尝试拨打 getApplication<Application>()。这是 AndroidViewModel 中获取应用程序的方法 :) 无需将应用程序存储为字段。

试试这个

class CreateEventViewModel(private val application: Application) : AndroidViewModel(application) {

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}

更新代码:

data class CreateEventViewModel(val application: Application) : AndroidViewModel(application) {

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}