Fragment android碎片化管理

来源:互联网 发布:扣扣闪图制作软件 编辑:程序博客网 时间:2024/05/16 18:44

 

静态使用方式:

简单使用方式:在布局文件(XML) 中 加入fragment标签  设置宽 高 name在src文件夹中  新建一个Class文件, 继承自 Fragment  (app.fragment)重写生命周期方法 :最少重写一个  OncreateView();/** * 与Activity 绑定 */@Overridepublic void onAttach(Activity activity) {    // TODO Auto-generated method stub    super.onAttach(activity);    logI("onAttach");}// Activity 开始执行Oncerat方法@Overridepublic void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    logI("onCreate");}//创建Fragment视图  通过布局填充器public View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, Bundle savedInstanceState) {    logI("onCreateView");    return inflater.inflate(R.layout.fragment1,container, false);}//绑定的Activity 的 oncreate方法 执行完毕@Overridepublic void onActivityCreated(Bundle savedInstanceState) {    super.onActivityCreated(savedInstanceState);    logI("onActivityCreated");    tv = (TextView) getView().findViewById(R.id.fragment1_tv);    tv.setText("我在运行时就被改变了");}@Overridepublic void onStart() {    // TODO Auto-generated method stub    super.onStart();    logI("onStart");}@Overridepublic void onResume() {    // TODO Auto-generated method stub    super.onResume();    logI("onResume");}@Overridepublic void onPause() {    // TODO Auto-generated method stub    super.onPause();    logI("onPause");}@Overridepublic void onStop() {    // TODO Auto-generated method stub    super.onStop();    logI("onStop");}//销毁视图@Overridepublic void onDestroyView() {    // TODO Auto-generated method stub    super.onDestroyView();    logI("onDestroyView");}//准备销毁自己@Overridepublic void onDestroy() {    // TODO Auto-generated method stub    super.onDestroy();    logI("onDestroy");}//与Activity 解除绑定@Overridepublic void onDetach() {    // TODO Auto-generated method stub    super.onDetach();    logI("onDetach");}

动态使用方式:

步骤:1.   在布局文件中 加入FrameLayout      给Fragment一个空间,  用来动态的放入Fragment    2.  在JAVA代码中 通过new 创建一个Fragment的对象    3.  开启Fragment事物         1.  在android3.0以上(使用app包下的Fragment)通过getFragmentManager().beginTransaction()开启Fragment事务        2.  在android3.0以下(使用v4包底下的fragment), 需要当前Activity继承自FragmentActivity , 然后调用getSupportFragmentManager().beginTransaction()开启Fragment事物;    4.  提交事物 beginTransaction.commit();    事物  常用方法:    //add方法:绑定一个fragment到framelayout上     两个参数 : 1.需要把参数二fragment放入哪个位置 , 2.fragment对象    .add(R.id.act_main_framelayout, frags.get(0))    remove 方法:从一个framelayout上移除一个fragment    参数一: 要移除的fragment对象    beginTransaction.remove(frags.get(0));    hede方法: 隐藏一个fragment    参数一: 要隐藏的fragment对象    beginTransaction.hide(frags.get(0));    show方法: 显示一个之前隐藏的fragment对象    参数一: 要显示的fragment    beginTransaction.show(frags.get(0));    addToBackStack方法: 将当前fragment加入回退栈    addToBackStack(null);    最常用方法:     replace(R.id.act_main_framelayout, frags.get(0));    此方法 是remove与add方法的结合 , 
0 0