Android - Как узнать, в хост-активности навигация подошла к концу - PullRequest
0 голосов
/ 16 мая 2019

Я думаю о новой архитектуре для своего приложения и внедряю что-то новое в приложение, которое уже существует.

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

Откуда мне это знать?Может ли активность хоста знать, когда закончится навигация?

1 Ответ

0 голосов
/ 31 мая 2019

Ваш хост может вызвать addOnDestinationChangedListener, чтобы он знал о текущем фрагменте в потоке навигации.Если мое понимание верно, вы можете сделать что-то подобное в onCreate вашего хоста:

navController.addOnDestinationChangedListener(new NavController.OnDestinationChangedListener() {
   @Override
   public void onDestinationChanged(@NonNull NavController controller,
           @NonNull NavDestination destination, @Nullable Bundle arguments) {
       // if you have reached the end of your navigation flow, do something
       if(destination.getId() == R.id.end_dest) {
           // add code calling your old flow here
       } 
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...