Java 打开一个片段,该片段将替换nav_主机,使其能够返回
我试图显示一个新的片段,其中导航主机片段是,但我希望旧的显示每当我点击backButton或我的应用程序中的X(我已经添加了)。 在它现在的状态下,它不会让我离开播放片段 我还尝试了FragmentTransaction.add(…),但我不知道如何让它工作 我的代码: MainActivity.java:Java 打开一个片段,该片段将替换nav_主机,使其能够返回,java,android,fragment,native,android-bottomnavigationview,Java,Android,Fragment,Native,Android Bottomnavigationview,我试图显示一个新的片段,其中导航主机片段是,但我希望旧的显示每当我点击backButton或我的应用程序中的X(我已经添加了)。 在它现在的状态下,它不会让我离开播放片段 我还尝试了FragmentTransaction.add(…),但我不知道如何让它工作 我的代码: MainActivity.java: Fragment fragment = new PlayListFragment(position); FragmentManager fragmentManager =
Fragment fragment = new PlayListFragment(position);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment oldFragment = fragmentManager.findFragmentByTag(fragment.getClass().getName());
//if oldFragment already exits in fragmentManager use it
if (oldFragment != null) {
//fragment = oldFragment;
}
fragmentTransaction.replace(R.id.nav_host_fragment, fragment, fragment.getClass().getName());
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragmentTransaction.addToBackStack("playlist");
fragmentTransaction.commit();
playlipfragment.java:
getActivity().getSupportFragmentManager().popBackStack("playlist", 0);
编辑:
当我尝试将null而不是“播放列表”放在Backback中时:
是的。然后我看到两个碎片互相溢出: 正常状态: 单击“下载的歌曲”时: 在片段中单击“上一步”时:
编辑:当我再次单击X时,它显示主片段,而底部导航突出显示库选项卡。尝试放置fragmentTransaction.addToBackStack(null);而不是fragmentTransaction.addToBackStack(“播放列表”)?是的。然后我看到两个片段彼此溢出:正常状态:当点击“下载的歌曲”时:当点击片段中的返回时:编辑:当我再次点击X时,它显示我的主片段,而底部导航突出显示库选项卡。访问此唯一的事情是你需要根据你的代码进行应用。它起作用了。谢谢你找到这个。不知怎的,我没有。如果您使用的是
NavHostFragment
,那么您永远不必编写FragmentTransaction
。你会的。为什么您要尝试使用碎片事务
?