Привет ребята вот мой кодпредотвратить же фрагмент несколько раз в backstack
navigationView.setNavigationItemSelectedListener(new NavigationView .OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { if (item.isChecked()) { //item already selected. Do nothing drawerLayout.closeDrawer(GravityCompat.START); return true; } switch (item.getItemId()) { case R.id.home: FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction(); transaction.replace(R.id.fragment, new HomeFragment()) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit(); break; case R.id.other: transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment, new OtherFragment()) .addToBackStack(null).setTransition(FragmentTransaction .TRANSIT_FRAGMENT_FADE).commit(); break; default: break; } drawerLayout.closeDrawer(GravityCompat.START); return true; } });
Я в основном только 2 фрагмента и просто HomeFragment должны быть добавлены к backstack. После переключения между HomeFragment и OtherFragment на некоторое время и нажатия кнопки «Назад» во время HomeFragment, я получаю отображение HomeFragment несколько раз. Внутри HomeFragment находится recyclerview. Когда я просматриваю вверх и вниз, я могу видеть, что строки отображаются несколько раз. Как я могу убедиться, что HomeFragment добавлен в backstack только один раз.
Благодаря
Спасибо @janzoner за отличный ответ. Он работает как прелесть. Мой recyclerView не показывает данные всегда. Некоторые из них иногда иногда просто пусты. Weird – DeKekem
Добро пожаловать. Надеюсь, вы устраните проблему с помощью RecyclerView. Если нет, попробуйте снова обратиться за помощью в StackOverflow. – janzoner