onCreateView() :建立视图java
onActivityCreate():activity建立完成的时候调用android
onDestoryView():销毁视图app
onDetach():与activity解除绑定ide
2.1 继承fragment(android.app.Fragment)布局
2.2 直接在布局文件中使用spa
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/fragment1" android:name="example.com.fragmentdemo.OneFragment" /> </RelativeLayout>
步骤:code
1.建立fragmentxml
2.经过getFragmentManager()方法获得FragmentManagerblog
3.开启一个事务,beginTransaction()继承
4.添加、移除、替换、隐藏、显示fragment,add/remove/replace/hide/show
5.提交事务,commit();
manager.beginTransaction().add(R.id.fl,twoFragment).commit();
若是要实现相似于返回栈的效果,在commit()前 调用addToBackStack()方法
manager=getFragmentManager(); manager.beginTransaction().add(R.id.fl,twoFragment).addToBackStack(null).commit();
replace()方法会使fragment视图销毁 执行onpause()/onStop()/onDestoryView()
remove()方法会使fragment销毁 执行onpause()/onStop()/onDestoryView()/onDesdory()/onDecath()
hide()/show()不会执行其余的生命周期
锁屏 onPause()/onStop() 锁屏恢复:onStart()/onResume()
1.在Fragment中建立newInstance方法,使Fragment携带参数
public static OneFragment newInstance(String txt){ OneFragment oneFragment=new OneFragment(); Bundle bundle=new Bundle(); bundle.putString("param",txt); oneFragment.setArguments(bundle); return oneFragment; }
2.声明Fragment
oneFragment=OneFragment.newInstance("oneFragment");
3.在Fragment的onCreateView()中获取参数
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { Log.d(TAG, "onCreateView: "); View view=inflater.inflate(R.layout.fragment_one,container,false); if(getArguments()!=null){ Bundle bundle=getArguments(); String str= bundle.getString("param"); Log.e("OneFragment","onCreateView(OneFragment.java:48):"+str); } return view; }