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

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

Сообщение Anonymous »

SettingsLandingActivity содержит несколько фрагментов и обрабатывает переход между ними, используя NavController . Когда пользователь вступает в действие, он показывает настройки sundslandingfragment , как и фрагмент по умолчанию. Таким образом, GeneralSettingSfragment возобновится, и настройка ленты Затем пользователь нажимает на кнопку «Настройки», тогда последовательность событий-
generalsettingsfragment ontartart.
SettingsLandingActivity onnewintent
SettingLandingFragment получает onviewCreate , onstart и onresume
ag generalsettingsfragment ontart , этот фрагмент появляется на короткий момент в качестве мерцания, затем настройки Ожидается показать настройку Также необходимо всегда переключаться на FutureSlandingFragment при нажатии кнопки «Настройки». Как избежать мерцания предыдущего фрагмента, когда запрашивается другой фрагмент из разных действий? Пожалуйста, помогите мне решить эту проблему. < /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»