简介
Fragment可以看作是Activity的一个模块(或Sub Activity),他有自己的生命周期,可被重用在其他的Activity中。
使用
- 首先是建立单独的fragment,可以使用开发工具中的新建,也可以自己分别创建一个继承自Fragment的类,完成相应方法,和一个以fragment为根的布局文件
- 在Activity中调用一个fragment,此时该Activity中需有一个fragment的容器FrameLayout
getFragmentManager().beginTransaction()
.add(R.id.fragment_container, blankFragment).commit();
通信
这里的通信指的是fragment与Activity之间的通信
- 在Fragment中创建OnFragmentInteractionListener的私有变量,并创建以下接口来供Activity实现,
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
public void onFragmentInteraction(Uri uri);
}
- 下面的方法实例化了本地的私有变量,而其实现方式是在Activity中,使得可以调用该接口的相关方法
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentInteractionListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentInteractionListener");
}
}
- 在Activity中实现接口该Fragment的接口和相关方法即可