Fragment androidフラグメント化管理

3708 ワード


静的使用方法:
      :
     (XML)     fragment          name

 src          Class  ,     Fragment  (app.fragment)

         :        OncreateView();


/**
 *  Activity   
 */

@Override
public void onAttach(Activity activity) {
    // TODO Auto-generated method stub
    super.onAttach(activity);
    logI("onAttach");
}

// Activity     Oncerat  
@Override
public 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       
@Override
public void onActivityCreated(Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);
    logI("onActivityCreated");
    tv = (TextView) getView().findViewById(R.id.fragment1_tv);
    tv.setText("          ");

}

@Override
public void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    logI("onStart");
}

@Override
public void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    logI("onResume");
}

@Override
public void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    logI("onPause");
}

@Override
public void onStop() {
    // TODO Auto-generated method stub
    super.onStop();
    logI("onStop");
}

//    
@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
    logI("onDestroyView");
}

//      
@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    logI("onDestroy");
}
// Activity     
@Override
public 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      ,