其实与活动中嵌套碎片差不多只是改了一个地方,先介绍一下活动中去嵌套碎片:
活动中嵌套碎片代码如下:
private void replaceFragment(Fragment fragment){
FragmentManager fragmentManager = getSupportFragmentManager();//这里获取碎片管理器的方法不同于碎片中嵌套碎片这里使用的是getSupportFragmentManager() 注:貌似这里亦可以用getFragmentManager()
FragmentTransaction transaction = fragmentManager.beginTransaction();//开启一个事物,通过调用beginTransaction()开启
transaction.replace(R.id.top_fragment,fragment);//向容器内替换碎片(添加用.add) 第一个参数:容器id 第二个参数:待添加的碎片
transaction.commit();//提交事务
}
然后在按钮点击事件中加入
replaceFragment(new QuotationFragment());
即可。
注:QuotationFragment()是继承自Fragment的一个碎片类,只需重加载碎片的布局就可以代码如下:
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
final View view = inflater.inflate(R.layout.fragment_account_fragment_flow,container,false);//加载布局
return view;
}
碎片中嵌套碎片:
只需要将上述代码中第二行的getSupportFragmentManager()改为getChildFragmentManager()即可,剩下的和活动中添加碎片相同。