Задать вопрос
goodtimes922
@goodtimes922

Как пользоваться стэком фрагментов?

У меня вызывается 3 фрагмента друг за другом, каждый добавляют в стек, когда закрываю 3 фрагмент, то вызываю popBackStack и у меня открывается 2 фрагмент и на нем видны еще компоненты с 3 фрагмента. Почему?

Вот само меню
@SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
        int id = item.getItemId();

        if (id == R.id.nav_teory) {
            ftrans.replace(R.id.content_main, fteory, "ftheory");
            setTitle("Теория");
            ftrans.addToBackStack("ftheory");

        } else if (id == R.id.nav_test) {
            ftrans.replace(R.id.content_main, ftest);
            setTitle("Тест");
            ftrans.addToBackStack("ftest");

        } else if (id == R.id.nav_exit) {
            Intent intent = new Intent();
            setResult(RESULT_OK);
            finish();
        } ftrans.commit();

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }


Вот во 2 пункте меню вызываю 2 фрагмент

fuser = new FragmentUser();
                        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
                        ftrans.replace(R.id.content_main, fuser);
                        Bundle bundle = new Bundle();
                        bundle.putInt("Points", Points);
                        fuser.setArguments(bundle);
                        ftrans.addToBackStack("fuser");
                        ftrans.commit();


Вот 3

getActivity().getFragmentManager().popBackStack();
  • Вопрос задан
  • 436 просмотров
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@KartoshkaD
покажи код, пожалуйтса
очень странное поведение
может быть, ты делаешь add(int, Fragment, String) вместо replace(int, Fragment, String) и при этом твои фрагменты имеют прозрачный background
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы