Как передать строковый параметр в ViewModel в Compose? Я имею в виду строковую переменную, а не жестко закодированную или сохраненную в приложении. Мне нужно передать его как параметр. Это только для целей обучения, сейчас это строка, но завтра это может быть, например, пользовательский объект.
В лабораториях по коду объясняется, как передавать параметры, которые можно сгенерировать с помощью приложения, например это:
companion object {
val factory : ViewModelProvider.Factory = viewModelFactory {
initializer {
MyViewModel(
MyApplication().container.repository
)
}
}
}
А затем использовать эту переменную сопутствующего объекта следующим образом:
viewModel: MyViewModel = viewModel(factory = MyViewModel.factory)
Но они не объясняют, как передать простой строковый параметр. Как я могу адаптировать этот код для получения строки в качестве параметра и передачи ее при инициализации модели представления?
Я попробовал то, что предложил CommonsWare, и, очевидно, он не компилируется, в нем чего-то не хватает. объяснение. Как передать переменную myString? Я просто хочу преобразовать эту фабрику, чтобы получить строковую переменную, но не знаю, как этого добиться.
companion object {
val factory : ViewModelProvider.Factory = viewModelFactory {
initializer {
LoadingScreenViewModel(
myString
)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... in-compose