导航活动中addBackStack方法的嵌套片段问题,无法完成backstack片段的工作,直接关闭app问题

时间:2016-10-15 12:14:29

标签: android android-studio android-fragments

enter image description here

嗨,伙计们有人请求帮助,,,,非常努力地解决它但却无法做到......厌倦了这个问题, 我有一个父活动,其中包含带有主页,搜索,书籍,配置文件片段的导航抽屉。为Home片段添加了3个标签。从Tab的第一个片段我想用新的片段替换它,即BookDetails Frag,这应该像Home-BookDetails-Cart-Login ...当我背压它应该来到各自的旧片段。我该怎么办?

1 个答案:

答案 0 :(得分:1)

  1. 如果您从NavigationDrawer搬出,请使用replace
  2. 导航到子片段时,使用add并将当前片段放入backstack
  3. 它将解决您的问题

    现在有了这种情况,每当用户从主页,搜索图书或个人资料片段返回时,它都会关闭您的应用程序。

    如果您在Book详细信息中并按回来,则会将您移至HomeFragment。

    HomeFragment的代码似乎没问题(正如您在评论中发布的那样)

    但是从HomeFragment移动到BookDeatailsFrag时,您应该使用add代替replace

    BookDeatailsFrag fragment = new BookDeatailsFrag();
    
    FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
    fragmentTransaction.addToBackStack("home");
    fragmentTransaction.add(R.id.details, fragment, "detail").commit();