Как добавить прослушиватель и получить обратный вызов после завершения перехода навигации в Jetpack Compose (NavHostContAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить прослушиватель и получить обратный вызов после завершения перехода навигации в Jetpack Compose (NavHostCont

Сообщение Anonymous »

Я пытаюсь добавить прослушиватель и получать обратный вызов всякий раз, когда переход навигации завершается в Jetpack Compose.
Я пытался использовать API-интерфейс NavController addOnDestinationChangedListener, но он отправляется немедленно моему слушателю и не ждет завершения композиции.

Код: Выделить всё

val navController = rememberNavController()

// Register the destination changed listener
navController.addOnDestinationChangedListener { _, destination, _ ->
// destination change is sent immediately and isnt waiting for the composable to finish
}
Моя цель — добавить прослушиватель, который запускается только после завершения композиции и изменения места назначения.
что-то вроде этого:
Моя цель — добавить прослушиватель, который запускается только после завершения композиции и изменения места назначения.
что-то вроде этого:
p>

Код: Выделить всё

// Register the transition finished listener
navController.transitionFinished{ _, destination ->
// Do something when the navigation transition has finished
}

NavHost(navController = navController, startDestination = "Home") {
composable("Home") {
// THE CALLBACK IS FIRED HERE, IMMEDITIETLY
Text("FIRST SITE")
//FIRE NOW THE CALLBACK AFTER IT FINISHED COMPOSITION
}
composable("Settings") {
// THE CALLBACK IS FIRED HERE, IMMEDITIETLY
Text("SECOND SITE")
//FIRE NOW THE CALLBACK AFTER IT FINISHED COMPOSITION
}
}
Где он будет запускать обратный вызов только после того, как весь составной объект завершит свою композицию.
Есть ли варианты, чтобы получить текущее состояние перехода navHost, чтобы Я могу реализовать это сам или использовать любые другие вызовы API?
EDIT1: TO Уточнить: я определяю завершающую композицию, когда вся анимация перехода завершена

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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