片段导航在后退按钮上

时间:2013-02-27 07:06:40

标签: android android-layout android-intent

我有一个片段,它有一个上下文菜单,后者又调用另一个片段:

switch (item.getItemId())
            {
 case MENU_EDIT:
                 FragmentTransaction ft =getActivity().getFragmentManager().beginTransaction();
                 PlayListDetailsView fragment=new PlayListDetailsView();
                 //fragment.getArguments().putLong("id", (Long)info.id);
                 ft.add(android.R.id.content, fragment);
                 ft.attach(fragment);
                 ft.commit();
}

新的片段打开正常,但是一旦我按下该应用程序就完全退出,然后返回到它被调用的片段。 此外,尝试添加包信息的注释行失败,无法在调用的片段中检索 请建议修复:)

2 个答案:

答案 0 :(得分:3)

你必须在调用commit之前调用addToBackstack()

答案 1 :(得分:2)

首先,片段应该通过活动进行沟通,而不是直接沟通:http://developer.android.com/training/basics/fragments/communicating.html

关于你的问题:

  1. 要使返回键正常工作,您应该将事务添加到后台堆栈,在提交之前将其放入:

    ft.addToBackStack("playlistdetails");
    
  2. 应该添加如下参数:

    Bundle args = new Bundle();
    args.putLong("id", (Long)info.id);
    fragment.setArguments(args);