使用方式分为静态加载和动态加载。
1.静态加载。
-
在一个activity的xml文件中添加fragment控件:
<fragment android:id="@+id/fragment" android:layout_width="wrap_content" android:layout_height="wrap_content" android:name="com.edgar.fragmentlearning.MyFragment"/>
id和name是必须的,没有id会报错。name是我们的fragment类。
-
在fragment类的onCreateView方法中初始化控件,另外fragment类需要指定xml文件。
public class MyFragment extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment,container,false); TextView text= (TextView) view.findViewById(R.id.text); text.setText("静态加载Fragment"); return view; } }
- 动态加载。
-
利用FragmentManager把要加载的fragment加载到该activity中,在该activity的对应xml文件这个不用添加fragment控件。
MyFragment2 myFragment2=new MyFragment2(); FragmentManager fragmentManager=getFragmentManager(); FragmentTransaction beginTransaction=fragmentManager.beginTransaction(); beginTransaction.add(R.id.frame,myFragment2); //可以回退到上一个界面中 beginTransaction.addToBackStack(null); beginTransaction.commit();