У меня есть меню с двумя фрагментами. когда я выбираю второй фрагмент, я могу перейти к третьему фрагменту с помощью кнопки.Фрагмент перекрывается другим, когда возвращается
MainActivity
drawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close);
mDrawerLayout.setDrawerListener(drawerToggle);
drawerToggle.syncState();
getSupportActionBar().setTitle("demo");
mSelectedId = savedInstanceState == null ? R.id.aboutConference : savedInstanceState.getInt("SELECTED_ID");
itemSelection(mSelectedId);
}
private void setToolbar() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
setSupportActionBar(toolbar);
}
}
private void initView() {
mDrawer = (NavigationView) findViewById(R.id.main_drawer);
mDrawer.setNavigationItemSelectedListener(this);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
}
private void itemSelection(int mSelectedId) {
switch (mSelectedId) {
case R.id.aboutConference:
mDrawerLayout.closeDrawer(GravityCompat.START);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new FirstFragment());
fragmentTransaction.commit();
break;
case R.id.aboutDeveloper:
mDrawerLayout.closeDrawer(GravityCompat.START);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new SecondFragment());
fragmentTransaction.commit();
break;
}
}
Второй фрагмент
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view =
inflater.inflate(R.layout.second_fragment, container, false);
Button button = (Button)view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, new ThirdFragment());
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
return view;
}
Когда я нажимаю BackButton, он работает правильно.
Но если я перейти на третий фрагмент, выберите первый фрагмент в меню и нажмите кнопку BackButton, третий фрагмент перекрывает первый фрагмент
Как я могу решить эту проблему?
ОБНОВЛЕНИЕ: я не хочу, чтобы я мог вернуться от первого фрагмента к третьему, когда я нажму кнопку «Назад».
setBackground в родительском теге XML макет каждого фрагмента. Желательно с белым цветом. – Shaishav
Установите свой фон в рамке в белом цвете –
Я не хочу, чтобы я мог вернуться с первого фрагмента на третий, когда нажимаю кнопку «Назад». –