Доброго
Есть проблема, когда листаю фрагменты, то при возвращении на первый у меня почему-то Bundle равен null и происходит повторное создание фрагментов.
При повороте экрана всё норм
вот так выглядит
//////////////////////////////////////////////////////////////////////
отрывок из main
private void initTab() {
viewPager = findViewById(R.id.main_view_pager);
adapter = new TabsFragmentPageAdapter(getSupportFragmentManager(), this);
adapter.addFragment(new MainFragmentCreateMenu());
adapter.addFragment(new MainFragmentWatchProgress());
adapter.addFragment(new MainFragmentAddProductMenu());
viewPager.setAdapter(adapter);
tabLayout = findViewById(R.id.main_tab_layout);
tabLayout.setupWithViewPager(viewPager);
}
сам адаптер
public class TabsFragmentPageAdapter extends FragmentPagerAdapter {
private String[] titleFragment;
public TabsFragmentPageAdapter(FragmentManager fm, AppCompatActivity app) {
super(fm);
this.titleFragment = app.getResources().getStringArray(R.array.main_menu);
}
private final List<Fragment> mFragmentList = new ArrayList<>();
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titleFragment[position];
}
@Override
public int getCount() {
return titleFragment.length;
}
public void addFragment(Fragment fragment) {
mFragmentList.add(fragment);
}
}
сам фрагмент
public class MainFragmentCreateMenu extends Fragment {
private View rootView;
private FragmentTransaction transaction;
private CreateMenuDate menuDate;
private ViewGroup container;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.create_menu, container, false);
this.container = container;
if (savedInstanceState == null) { //тут при возврате в этот фрагмент повторно всё вызывается
transaction = getChildFragmentManager().beginTransaction();
menuDate = new CreateMenuDate();
transaction.add(R.id.create_menu_main_container, menuDate);
transaction.add(R.id.create_menu_main_container, new CreateMenuCardViewForItem());
transaction.commit();
}
return rootView;
}
}