Как обрабатывать обратную навигацию с помощью Jetpack Compose + Navigation (без фрагментов)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как обрабатывать обратную навигацию с помощью Jetpack Compose + Navigation (без фрагментов)

Сообщение Anonymous »

Я пытаюсь перейти, скажем, от регистрации к панели мониторинга и дальше, и активировать регистрацию, как только пользователь заходит на панель управления, но все равно с помощью «обратного действия» я снова попадаю в систему.
Вот пример кода:
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContent {
MainUI()
}
}
}

@Composable
fun MainUI() {
val navController = rememberNavController()

NavHost(
navController = navController,
startDestination = "onboarding"
) {
composable("onboarding") {
Column {
Text("I am on onboarding")
Button(onClick = {
navController.navigate("dashboard") {
popUpTo("dashboard") // I want to get rid of onboarding here
}
}) {
Text("go to dashboard")
}
}
}
composable("dashboard") {
Column {
Text("I am on dashboard")
Button(onClick = {
navController.navigate("detail")
}) {
Text("go to detail")
}
}
}
composable("detail") {
Text("I am on detail")
}
}
}

Это тоже не работает
navController.navigate("dashboard") {
popUpTo("dashboard") {
inclusive = true // no difference
}

// ....

popUpTo("onboarding") // also nothing

// ....

popUpTo("onboarding") {
inclusive = true // this crashes -> NavGraph cannot be cast to ComposeNavigator$Destination
}

}


По какой-то причине это работает, поэтому панель инструментов закрывается, и из-за подробностей я попадаю в онбординг 🤦
navController.navigate("detail") {
popUpTo("dashboard") {
inclusive = true
}
}


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как правильно обрабатывать навигацию и логику обратного стека в навигации Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Поддерживает ли Android Jetpack Navigation Kotlin DSL нижнюю навигацию с несколькими стеками?
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как я могу обнаружить обратную навигацию на клиенте в JavaScript?
    Anonymous » » в форуме Jquery
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Попытка понять ViewModels и навигацию с помощью Jetpack Compose
    Anonymous » » в форуме Android
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Как заставить нижнюю навигацию работать вместе с навигацией между экранами в Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    96 Просмотры
    Последнее сообщение Anonymous

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