这是我的问题。
我基本上正在处理一个片段,其中包含有关某个地方的一些信息,以及同一城市中所有其他地方的列表。通过单击列表中的一个元素,您可以访问具有与您单击的元素相关的信息的同一片段的另一个实例。
问题是,如果两个包含同一地点信息的片段包含在 backstack 中,则 backstack 不再起作用。
这就是我创建新片段的方式:
Bundle bundle = new Bundle();
bundle.putString("some data", "some data");
Fragment contentFragment = new CoreFragment(id);
contentFragment.setArguments(bundle);
FragmentManager fm = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.actmain_core, contentFragment, "corefragment");
fragmentTransaction.addToBackStack(contentFragment.getClass().getName());
fragmentTransaction.commit();
如果所有片段都使用不同的数据,它会完美运行。但是,如果我将一个片段添加到后台堆栈中,其中的数据已经在后台堆栈中的片段中使用,那么当我按下后退按钮访问它时,它将不会显示。
我该如何解决这个问题?如何管理片段及其精确副本存在于后台但需要区分的情况?