这个问题有两个部分. 假设我们有一个Activity,然后是两个片段:ListFragment和Fragment(当你单击ListFragment中的一个项目时会显示它). 第1部分 我应该在哪里关闭片段?通过这个我的意思是从设
假设我们有一个Activity,然后是两个片段:ListFragment和Fragment(当你单击ListFragment中的一个项目时会显示它).
第1部分
我应该在哪里关闭片段?通过这个我的意思是从设计的角度来看会被认为是好的.我看到两个选项:一个声明片段中的接口并让活动实现它,让我们称之为closeFragment().这将是一种从片段到活动的通信方式,如开发站点中所示.另一个可能很简单,并调用getActivity().getSupportFragmentManager()并使用管理器关闭它.
第2部分
我知道如何创建一个片段并替换它,因为它在Dev网站上,但我对关闭它有疑问.我该怎么关闭呢?类似下面的代码是否正确?假设片段已添加到BackStack中.
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); getSupportFragmentManager().popBackStack(); transaction.remove(this); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE); transaction.commit();
非常感谢你.
>我更喜欢有一个愚蠢的片段,它不知道它在哪里使用,所以你可以在你想要的任何活动上使用它,它将具有你为它设定的精确目标.当然,你可以做任何你想做的事. >这看起来像关闭它,但我宁愿替换它.只要您有对它的引用,您也可以始终返回到该片段.