Ниже мой код для элемента просмотра нижней навигации выбранФрагмент воссозданы по пункту Вид снизу навигации выбран
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.action_one:
// Switch to page one
fragment = FragmentA.newInstance();
break;
case R.id.action_two:
// Switch to page two
fragment = FragmentB.newInstance();
break;
case R.id.action_three:
// Switch to page three
fragment = FragmentC.newInstance();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment,"TAG").commit();
return true;
}
});
Теперь моя проблема воссоздан каждый фрагмент времени и не хотите фрагмента быть воссозданы каждый раз, когда я также пробовал добавлять addToBackStack (null), но в этом случае на кнопку «Назад» продолжает выскакивать фрагменты из стека, которые я не хочу.
Есть ли способ отображения фрагментов на нижней панели навигации, выбранной без повторного создания фрагмента
Чтобы избежать этого, я создать карту: 'Map <ИНТ, Fragment>' и каждый фрагмент имеет статический идентификатор. Я создаю весь фрагмент в 'onCreate'' Activity'. Но это не рекомендуется. Вы можете добавить фрагмент в 'backstack' с помощью уникального тега, например' Fragment.class.getSimpleName() ', а затем найти его с помощью' findFragmentByTag' и передать его снова. Не забудьте добавить каждый «Фрагмент» один раз в «backstack» –
Привет, Рафаэль, как я уже сказал, я не хочу добавлять его к стоп-кадрам, так как он мешает при нажатии на задний экран. – apk
Для этого вы можете переопределить 'onBackPressed()' в вашей «Деятельности». Комментарий 'super.onBackPressed()' –