почему я не могу получить доступ к своему приложению внутри моего класса AndroidViewModel? - PullRequest
0 голосов
/ 17 марта 2020

Я новичок в Android разработке, особенно с использованием шаблона MVVM. Мне нужен контекст в моей viewModel, поэтому я использую AndroidViewModel, чтобы получить context через application, но я не знаю, почему я не могу получить доступ к приложению

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}

enter image description here

Ответы [ 4 ]

1 голос
/ 17 марта 2020

Просто попробуйте позвонить getApplication<Application>(). Это метод в AndroidViewModel для получения приложения :) Нет необходимости хранить приложение в виде поля.

0 голосов
/ 17 марта 2020

обновленный код:

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}
0 голосов
/ 17 марта 2020

Попробуйте это

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

    fun checkIfItHasInternetConnection() {

        if (InternetConnection.checkConnection(application)) {

        }

    }

}
0 голосов
/ 17 марта 2020

use private val application: приложение в основном конструкторе

, приведенный ниже пример: попробуйте этот способ

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

fun checkIfItHasInternetConnection() {

    if (InternetConnection.checkConnection(application)) {

    }

}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...