lateinit property viewModel has not been initialized

@Composable
fun WelcomeScreen() {



    Background()


    lateinit var viewModel:UserViewModel



    var nameUser by rememberSaveable {
        mutableStateOf("")
    }
    var kgUser by rememberSaveable {
        mutableStateOf("")
    }
    var genderUser by rememberSaveable {
        mutableStateOf("")
    }



    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally

    ) {

        Text(
            text = "Добро пожаловать",
            color = MaterialTheme.colors.secondary,
            fontSize = 30.sp
        )

        OutlinedTextField(
            value = nameUser,
            onValueChange = { nameUser = it },
            label = { Text(text = "Имя") }

            )
        OutlinedTextField(
            value = kgUser,
            onValueChange = { kgUser = it },
            label = { Text(text = "Вес") },
            keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
        )
        OutlinedTextField(
            value = genderUser,
            onValueChange = { genderUser = it },
            label = { Text(text = "Рост") },
            keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
        )
        Button(
            onClick = {
                val user = User(
                    name = nameUser.trim(),
                    id = 1,
                    kg = kgUser.trim(),
                    gender = genderUser.trim()
                )

                addUserInDB(user,viewModel)
            }
        ) {
            Text(
                text = "Далее",
                color = androidx.compose.material3.MaterialTheme.colorScheme.background
            )
        }
    }

}



@HiltViewModel
class UserViewModel @Inject constructor(
    private val userRepository: UserRepository
) : ViewModel() {

    val userList: LiveData<List<User>> = userRepository.allUser

    val foundUser: LiveData<User> = userRepository.foundUser


    private fun getAllUser(){
        userRepository.allUser
    }


    fun addUser(user: User){
        userRepository.addUser(user)
        getAllUser()
    }

    fun updateUser(user: User){
        userRepository.updateUserDetails(user)
        getAllUser()
    }

}


fun addUserInDB(
    user: User,
    userViewModel: UserViewModel
){
    userViewModel.addUser(user)
}

Ответы (0 шт):