所以我从主活动开始创建片段A,该片段包含一个按钮。单击该按钮时,此代码将运行:
Fragment newFragment = new HomeFragment();
// consider using Java coding conventions (upper first char class names!!!)
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.formFragment_Container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
所以,正如你所知道的那样,我从片段A中激活片段B,而我所得到的是片段B所包含的活动,因为上面的代码中没有主要活动的迹象,也没有是主要活动中片段B的指示。你能为我澄清一下吗?谢谢 !
答案 0 :(得分:3)
致电
时getFragmentManager()
它使用Activity用来管理Fragments的FragmentManager实例。因此,活动将与活动A相同。
答案 1 :(得分:1)
它属于Android中嵌套片段的概念。对于片段A和B,其相关活动是主要活动(您已从中添加片段A)。
您可以从片段B访问主要活动和片段A. 例如。 getActivity()将返回Main Activity,getParentFragment()将返回Fragment A。