Как закрыть / завершить первое занятие при переходе от первого занятия ко второму занятию с помощью компонента навигации Android - PullRequest
1 голос
/ 15 марта 2019

Я впервые использую компонент навигации Android, и я также новичок в компоненте архитектуры Android. Насколько я видел, компонент навигации в архитектуре Android использует фрагменты преимущественно для навигации в рамках одного и того же действия. Я пытался перейти от одного занятия к другому, используя компонент навигации:

activity.finish()              
Navigation.findNavController(btnView).navigate(R.id.activity)

Здесь R.id.activity - идентификатор действия, определенного в XML-файле навигационного графика.

Когда я нажимал кнопку «Назад», я все еще мог видеть предыдущий экран. Мой вопрос заключается в том, как работает задний стек в компоненте навигации и почему появляется мое первое действие, даже если вызван метод уничтожения действия (из-за activity.finish())?

1 Ответ

0 голосов
/ 15 марта 2019

Я могу ответить на вашу вторую часть, за первую часть, которая лучше вас поймет, объяснит вам.

Ваша деятельность не завершена, выполнив описанный ниже метод, потому что, если он был завершен, вы не увидите его в заднем стеке.

activity.finish ()

завершить текущее действие после метода навигации. Ниже будет правильный способ завершения текущей деятельности.

btn.setOnClickListener{            
Navigation.findNavController(btnView).navigate(R.id.secondActivity)
(activity as currentActivity).finish()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...