android Fragment 学习笔记

Fragments可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。

Fragments的主要优点:你可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。

每个Fragment都是一个独立的模块,紧紧地与activity绑定在一起。可以运行中动态地移除、加入、交换等。

Fragments提供一个新的方式让你在不同的安卓设备上统一你的UI。



1. onAttach() 

Fragment 附加在父窗口Activity上。

@Override 
public void onAttach(Activity activity) { 
   super.onAttach(activity); 
   // 这个方法你可以获取到父Activity的引用。

}



2. onCreate

做一些Fragment初始化操作

@Override 
public void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState); 
   // 初始化Fragment



3. onCreateView

给Fragment创建自己的UI

@Override 
public View onCreateView(LayoutInflater inflater, 
                               ViewGroup container, 
                               Bundle savedInstanceState) {

     // 创建或者解析加载一个视图,然后返回作为Fragment的UI

     // 如果这个Fragment没有UI,那么返回NULL

     return inflater.inflate(R.layout.my_fragment, container, false);

}



4. onActivityCreated

当父Activity和当前的Fragment UI都完整创建完成时被调用

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
   super.onActivityCreated(savedInstanceState);

   // 完成Fragment的初始化,不对前面不是已经初始化好了么?

   //这个方法主要是初始化那些你需要你的父Activity或者Fragment的UI已经被完整初始化才能初始化的元素。

  //具体你看图中的位置你能看出点端倪来。比如UI的元素没被解析反射进来,你还想用? 想得美,等它初始化完,你再用。 



5.  onStart  onResume  onPause



6.  onSaveInstance

 @Override 
    public void onSaveInstanceState(Bundle savedInstanceState) {  
      //这个Bundle会被传入到onCreate、onCreateView 
      super.onSaveInstanceState(savedInstanceState); 
    } 



7.  onDestroyView

当Fragment的UI被分离的时候

@Override  
     public void onDestroyView() {  
        //清除所有跟视图相关的资源

        super.onDestroyView(); 
      } 



8.  OnDestroy

生命周期尾

@Override 
        public void onDestroy(){  
          //清除所有资源包括要结束的线程,关闭数据库连接等等。 
          super.onDestroy(); 
        } 



9.  OnDetach

当Fragment从父activity身上分离

@Override 
           public void onDetach() { 
             super.onDetach(); 
           }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值