Fragment总结

总结:
1、FragmentActivity 为了支持Honeycomb之前的版本
2 activity与fragment的区别:
  • fragment的生命周期由Activity托管,是Activity内部的事~
3 在Activity中托管fragment两种方式:
  • 添加fragment到Activity的布局文件xml中:简单,但不灵活,且将fragment及其师徒于Activity的视图绑定一起,在Activity的生命周期过长无法切换fragment
  • 在Activity的代码动态添加fragment:唯一可以在运行时控制fragment的方式。使用方法如下:
    • 1 定义xml布局文件
    • 2 创建fragment java类,并在onCreateView中绑定布局
    • 3 通过代码方式,连接布局文件中生成的组件:即通过FragmentManger来管理
4 动态绑定fragment布局方法中:
  • Fragment.onCreate()方法是public,Activity.onCreate()方法是proctected
  • fragment也有保存和获取状态的bundle
  • fragment使用onCreateView方法来生成布局:如下图所示

  • FragmentManger类具体管理fragment队列和fragment回退栈:使用代码如下
    • FragmentManager fm = getFragmentManager();  //或者getSupportFragmentManager()
      FragmentTransaction tx = fm.beginTransaction();  // 创建并返回FragmentTransaction 实例
      tx.add(R.id.id_content, mFOne, "ONE");  
      tx.commit(); 
    • tx.add(R.id.id_content, mFOne, "ONE");  方法中第一个参数是视图资源id,主要有两点作用:
      • 告知FragmentManager fragment视图应该出现在activity视图的什么地方
      • 是告知FragmentManager队列中fragment的唯一标示符。
    • 增加tx .add()、删除()、替换tx.replace()   。
    • 回退栈FragmentTransaction.addToBackStack(String)。使用replace和tx.addToBackStack(null);将当前的事务添加到了回退栈,所以FragmentOne实例不会被销毁,但是视图层次依然会被销毁(比如有EditView里面输入的数据不会保存),即会调用onDestoryView和onCreateView。
    • 如果想保存上一次数据则使用tx.hide(this); tx.add(),tx.addToBackStack

5、Fragment家族常用的API

Fragment常用的三个类:

android.app.Fragment  定义Fragment

android.app.FragmentManager 主要用于在Activity中操作Fragment

android.app.FragmentTransaction 保证一些列Fragment操作的原子性


Fragment介绍的Blog:http://blog.csdn.net/lmj623565791/article/details/37970961

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值