Я пытаюсь создать нижнее навигационное меню, подобное WhatsApp, Viber и т. Д., Где я переключаюсь между фрагментами.Я получил несколько работающий фрагмент-менеджер, заменяющий фрагменты, но, как оказалось, это воссоздает замененные фрагменты, когда я хочу вернуться на одну из страниц меню, которые я ранее посетил, изменил и т. Д.
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.navigation_discover:
fragment = findFragment(RPageFragment.getTAG());
if(fragment == null){
fragment = RPageFragment.newInstance();
mFragmentManager.beginTransaction().add(R.id.fragment_container, fragment, fragment.getTag()).commit();
}
break;
case R.id.navigation_booked:
fragment = findFragment(MapViewFragment.getTAG());
if(fragment == null){
fragment = MapViewFragment.newInstance();
mFragmentManager.beginTransaction().add(R.id.fragment_container, fragment, fragment.getTag()).commit();
}
break;
case R.id.navigation_me:
fragment = findFragment(ProfilePageFragment.getTAG());
if(fragment == null){
fragment = ProfilePageFragment.newInstance();
mFragmentManager.beginTransaction().add(R.id.fragment_container, fragment, fragment.getTag()).commit();
}
break;
}
//Invalid menu option
if (fragment == null)
return false;
mFragmentManager.beginTransaction().replace(R.id.fragment_container,fragment).commit();
return true;
}
Есть ли способ поменять фрагменты, сохранив их вид, состояние и т. Д., Аналогично тому, как работает WhatsApp?(Например, у меня есть фрагмент mapView, и я хотел бы, чтобы, когда я вернусь к нему, я показывал способ, которым я его оставил, а не воссоздаю mapView)