这个问题有两个部分。
假设我们有一个 Activity,然后有两个片段:一个 ListFragment 和一个 Fragment(当您从 ListFragment 中单击一个项目时会显示)。
第1部分
我应该在哪里关闭片段?我的意思是从设计的角度来看什么是好的。我看到两个选项:一个在片段中声明一个接口并让活动实现它,我们称之为 closeFragment()。这将是一种从片段到活动的通信方式,如开发站点中所示。另一个可能很简单,调用 getActivity().getSupportFragmentManager() 并使用管理器将其关闭。
第2部分
我知道如何创建一个片段并替换它,因为它在开发网站上,但我对关闭一个有疑问。我应该如何真正关闭它?类似以下代码的内容是否正确?假设片段被添加到 BackStack。
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
getSupportFragmentManager().popBackStack();
transaction.remove(this);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
transaction.commit();
非常感谢你。