其實與活動中嵌套碎片差不多只是改了一個地方,先介紹一下活動中去嵌套碎片:
活動中嵌套碎片代碼如下:
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()即可,剩下的和活動中添加碎片相同。