fragment 就是一个View,可以在activity中进行设定,如果静态的就用<fragment/>,动态的就用<FrameLayout/>,表示用哪个Fragment来换这块id
<include/> 可以包含一个layout,属性例如:layout="@layout/bottombar"
其中的方法有:
add ,remove(销毁实例), 二者等效于replace
hide(隐藏视图),show, 可以保留数据
detach(销毁视图),attach等 API Level 13 attach需要在detach调用后才能调用
attach、add都是在当前基础上再增加一个fragment,会进行覆盖
add、remove之前可以判断是否存在,条件是相反的
只有add、replace 参数两个或三个,其余都是一个fragment
最后提交事务 transaction.commit();
Activity状态不一致,出现state loss问题,在activity.onSaveInstance之前调用commit。(或者调用commitAllowingStateLoss)
addToBackStack,会将此次操作放入回退栈中,就是平时很多地方见到的撤销操作,可以回退到前一个步骤
<include/> 可以包含一个layout,属性例如:layout="@layout/bottombar"
Fragment中三大类:Fragment、FragmentManager、FragmentTransaction
使用标准步骤
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.repalce(id,fragment);
其中的方法有:
add ,remove(销毁实例), 二者等效于replace
hide(隐藏视图),show, 可以保留数据
detach(销毁视图),attach等 API Level 13 attach需要在detach调用后才能调用
attach、add都是在当前基础上再增加一个fragment,会进行覆盖
add、remove之前可以判断是否存在,条件是相反的
只有add、replace 参数两个或三个,其余都是一个fragment
最后提交事务 transaction.commit();
Activity状态不一致,出现state loss问题,在activity.onSaveInstance之前调用commit。(或者调用commitAllowingStateLoss)
addToBackStack,会将此次操作放入回退栈中,就是平时很多地方见到的撤销操作,可以回退到前一个步骤