У меня есть mutableStateof в моей HiltViewModel с именем loading. Я обновляю значение загрузки из функции в модели представления, которое передается в функцию @composable и используется там.
Дело в том, что значение загрузки отлично обновляется в модели представления, но не отражается в @ Составная функция.
Моя модель представления:
@HiltViewModel
class AuthenticationViewModel @Inject constructor(
private val repository: AppRepository,
application: Application
): ViewModel() {
val loading = mutableStateOf(false)
fun update() = viewModelScope.launch {
loading.value = true
}
}
Значение загрузки обновляется здесь, но не отражается в @composable
@Composable
fun LoginScreen(
viewModel: AuthenticationViewModel,
actions: MainActions
) {
val loading = viewModel.loading.value
//Loading is another composable function where bool value is passed
Loading(state = loading)
CustomNavigationButton(title = "Sign In",enabled = true,onClick =
{viewModel.update()})
}
Теперь, когда я нажимаю кнопку навигации, вызывается функция модели представления, и состояние загрузки также обновляется, но не отражается обратно в @Composable
Загрузка Composable:
@Composable
fun Loading(state:Boolean) {
var showDialog by remember { mutableStateOf(state) }
if(showDialog){
Dialog(onDismissRequest = { showDialog = false }, DialogProperties(
dismissOnBackPress = false,dismissOnClickOutside = false
)) {
Box(
modifier = Modifier.size(100.dp).background(Color.White, shape = RoundedCornerShape(8.dp)),
contentAlignment= Alignment.Center,
){
CircularProgressIndicator()
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/700 ... in-compose
Обновление mutableStateOf в модели представления, но без эффекта в @Compose ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Сбросить mutableStateOf, если начальное значение изменилось - Jetpack Compose
Anonymous » » в форуме Android - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-