Fragment即Activity中的片段,可以理解为一个带有生命周期的View。它的生命周期也与它所承接的Activity密切相关。在Activity中添加Fragment需要调用FragmentTransaction的add或者replace方法,如下
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportFragmentManager().beginTransaction().replace(R.id.content,new FirstFragment()).commit(); }
R.id.conetent是Fragment在Activity布局中所呈现的位置的id。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/content" > </RelativeLayout>
在已经添加的FirstFragment中我们也可以用replace方法来进行跳转到另一个Fragment,
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).replace(R.id.content,new SecondFragment());
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
上面的代码表示跳转到了SecondFragment,那在SecondFragment中怎样返回到FirstFragment呢?只需调用如下代码:
getActivity().getSupportFragmentManager().popBackStack();
这样就返回到了上一个Fragment中。