Получение empy saveState в модели просмотра при использовании koin с компоновкойAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Получение empy saveState в модели просмотра при использовании koin с компоновкой

Сообщение Anonymous »

Я использую koin для внедрения зависимостей в компонуемый файл. Я хочу использовать сохраненный дескриптор состояния и получать переданные аргументы непосредственно в моей ViewModel. По какой-то причине моя ViewModel всегда получает нулевые аргументы. Как вы можете видеть в приведенном ниже коде, я фактически использовал getstateviewmodel(), а также использую метод stateviewmodel внутри своего модуля. Любая помощь будет оценена
Моя навигация по компоновке:
@Composable
fun Navigation() {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = Screen.Login.route) {
composable(route = Screen.Login.route) { navBackStackEntry ->
val viewModel : LoginViewModel = getViewModel()
loginScreen {
val userId = 2

navController.navigate(Screen.HomeScreen.route + "/$userId")
}
}

composable(
route = Screen.HomeScreen.route + "/{userId}",
arguments = listOf(navArgument("userId") {
type = NavType.IntType
})
) {navBackStackEntry ->
val viewModel: HomeViewModel = getStateViewModel()
Home(navBackStackEntry.arguments!!.getInt("userId"))
}
}

}

Модуль Koin:
val viewModelModule = module {
viewModel { (handle: SavedStateHandle) ->HomeViewModel(handle) }
viewModel { LoginViewModel() }

}

Код внутри модели представления:
class HomeViewModel (savedStateHandle: SavedStateHandle) : ViewModel() {

val id : MutableState = mutableStateOf(savedStateHandle["userId"]?:0)
}


Подробнее здесь: https://stackoverflow.com/questions/713 ... th-compose
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка многоплатформенной платформы Kotlin (kmp) для настольных компьютеров Koin: NoClassDefFoundError: org/koin/core/er
    Anonymous » » в форуме Android
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Не удалось найти org.koin: koin-core: 2.2.2
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Вернувшись к Savestate, кажется, не работает вообще
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Вернувшись к Savestate, кажется, не работает вообще
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Обновление потока при использовании двух источников пейджинга с компоновкой
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»