1. 程式人生 > >今天總結一下我對Fragment的理解(碎片的入棧與出棧,碎片的巢狀)

今天總結一下我對Fragment的理解(碎片的入棧與出棧,碎片的巢狀)

1.碎片的巢狀!

getFragmentManager到的是activity對所包含fragment的Manager,而如果是fragment巢狀fragment,那麼就需要利用getChildFragmentManager()了。

getFragmentManager()是所在fragment 父容器的碎片管理,

getChildFragmentManager()是在fragment 裡面子容器的碎片管理。

 Fragment裡面巢狀Fragment 的話:一定要用getChildFragmentManager();

包括 碎片中巢狀viewpager 也適用 2.碎片的出入棧! 加入碎片並讓其入棧。。附程式碼吧。。。。。。
transaction
=manager.beginTransaction(); transaction.addToBackStack(""); transaction.replace(R.id.yizhu_rly,new Hand_Fragment()); transaction.commit();
事務的處理 入棧 而且可以給事務設定動畫  這樣切換碎片就有動畫啦!!!!
fragmentTransaction.setCustomAnimations(R.anim.push_left_in, R.anim.push_left_out, R.anim.back_left_in, R.anim.back_right_out
);

碎片的出棧(呃 簡單說就是銷燬吧  個人理解 ,)
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);//直接回到棧頂
getFragmentManager().popBackStack();//若棧中有很多碎片只會向上彈一個

由於本人只用過這兩個  所以  歡迎大家補充!說的不對之處請指出,大家一起學習