Когда я когда-либо хочу вызвать MyApplication().UserRepository, ошибка говорит, что его необходимо инициализировать< /p>
Это моя обычная фабрика, которую я использовал:
Код: Выделить всё
class MyViewModelFactory( private val _mode: String, private val _size: List, private val _data: String, private val _repository: UserRepository ) : ViewModelProvider.NewInstanceFactory() { override fun create(modelClass: Class): T { return SudokuViewModel(mode=_mode, _size = _size, _data = _data, _repository) as T } }Код: Выделить всё
val userRepository: UserRepository = MyApplication().userRepository val viewModel: SudokuViewModel = viewModel( factory = MyViewModelFactory(_mode=mode, _size=size,_data= getSudokuData(context), _repository = userRepository))Код: Выделить всё
FATAL EXCEPTION: main Process: com.example.sudokuapp, PID: 14438 kotlin.UninitializedPropertyAccessException: lateinit property userRepository has not been initialized at com.example.sudokuapp.MyApplication.getUserRepository(MyApplication.kt:15) at com.example.sudokuapp.SudokuUIKt.SudokuUI(SudokuUI.kt:59) at com.example.sudokuapp.SudokuAppKt$MyApp$1$2.invoke(SudokuApp.kt:47) at com.example.sudokuapp.SudokuAppKt$MyApp$1$2.invoke(SudokuApp.kt:44) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:139) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:308) at androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(NavHost.kt:306) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248) at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84) at androidx.navigation.compose.NavBackStackEntryProviderKt.SaveableStateProvider(NavBackStackEntryProvider.kt:65) at androidx.navigation.compose.NavBackStackEntryProviderKt.access$SaveableStateProvider(NavBackStackEntryProvider.kt:1) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:52) at androidx.navigation.compose.NavBackStackEntryProviderKt$LocalOwnersProvider$1.invoke(NavBackStackEntryProvider.kt:51) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)Подробнее здесь: https://stackoverflow.com/questions/788 ... ng-paramet
Мобильная версия