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

时间:2020-03-17 09:54:47

标签: android kotlin android-viewmodel

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

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}

enter image description here

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用私有val应用程序:主要构造函数中的应用程序

在以下示例中: 尝试这种方式

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

fun checkIfItHasInternetConnection() {

    if (InternetConnection.checkConnection(application)) {

    }

}
}

答案 2 :(得分:0)

尝试一下

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}

答案 3 :(得分:0)

更新的代码:

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}