Android NavController показывает последний фрагмент до того, как будет показан другой фрагмент, запрашиваемый из другогоAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android NavController показывает последний фрагмент до того, как будет показан другой фрагмент, запрашиваемый из другого

Сообщение Anonymous »

Настройки STURSLANDINGICTIONS содержит несколько фрагментов и обрабатывает переход между ними с помощью NavController. Когда пользователь вступает в действие, он показывает настройки, что является фрагментом по умолчанию. Таким образом, GeneralSettingSfragment возобновится, и настройка Затем пользователь нажимает кнопку «Настройки», то последовательность событий-
generalsettingsFragment oNSART. GeneralSettingSfragment становится начальным, этот фрагмент на короткий момент появляется в качестве мерцания, а затем показаны настройки. Ожидание состоит в том, чтобы показать настройку, не показывающий предыдущего экрана. Также необходимо всегда переключаться на настройки кнопки «Настройки», когда нажимается кнопка «Настройки». Как избежать мерцания предыдущего фрагмента, когда запрашивается другой фрагмент из разных действий? Пожалуйста, помогите мне решить эту проблему. < /P>
private void navigateToFragments(int actionNavigate,
boolean clearBackStack,
Bundle bundle) {

NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager()
.findFragmentById(R.id.nav_host_fragment);
if (navHostFragment != null) {
navController = navHostFragment.getNavController();
NavOptions navOptions;
if (clearBackStack) {
navOptions = new NavOptions.Builder()
.setPopUpTo(navController.getGraph().getId(), true).build();
Logger.d(TAG, "Pop and clearing the all back stack");
} else {
navOptions = new NavOptions.Builder()
.setPopUpTo(actionNavigate, true).build();
Logger.d(TAG, "Pop and clearing the all " +
"intervening destinations up to current navigate destination.");
}
Logger.d(TAG, " Navigate to a destination from the current navigation graph");
navController.navigate(actionNavigate, bundle, navOptions);
} else {
Logger.e(TAG, "NavHostFragment is null");
}
}


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

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

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

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

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

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

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