Основное представление в приложении представляет собой сеточное представление всех звуков, хранящихся в базе данных SQLite. Пользователи могут редактировать звук, чтобы изменить его имя в диалоговом окне. Когда диалоговое окно редактирования закрыто, я хочу обновить сетку, но не нашел способа, как это реализовать идеально.


На данный момент у меня есть следующие пункты назначения:
Код: Выделить всё
object Destinations {
@Serializable
object SoundGrid
@Serializable
class SoundEdit(val soundId: Int)
}
Код: Выделить всё
@Composable
fun SoundBoardApp(navController: NavHostController = rememberNavController()) {
NavHost(navController = navController, startDestination = SoundGrid) {
composable {
SoundGrid(
onNavigateToSoundEdit = {
navController.navigate(SoundEdit(it.id))
})
}
dialog {
SoundEditDialog(onClose = {
navController.navigateUp()
})
}
}
}
@Composable
fun SoundGrid(
onNavigateToSoundEdit: (Sound) -> Unit,
modifier: Modifier = Modifier,
viewModel: SoundGridViewModel = koinViewModel(),
) { .. }
@Composable
fun SoundEditDialog(
onClose: () -> Unit,
viewModel: SoundEditViewModel = koinViewModel()
) { .. }
Подробнее здесь: https://stackoverflow.com/questions/791 ... alog-close
Мобильная версия