在Android的开发中,因为Activity本身原因,很多情况下,Activity相当于保持不变的背景(Stage舞台),而具体其上内容的排版(根据在不同设备上,例如手机,平板等设备,可能排版有不同)则是通过Fragment(Scene场景)组合而来。Fragment拥有可自由组合,可多Fragment同时显示的优点,而这又是Activity所不具备的,所以在Android编程中,出现Activity搭台,Fragment唱戏的场景。
Activity并不是直接对Fragment进行操作或管理的,它是通过FragmentManager对所辖的Fragment进行管理。具体实现代码如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
//Activity所有的Fragment都是通过其FragmentManger管理
FragmentManager fm = getFragmentManager();
//通过容器资源视图id获取Fragment
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer_activity_fragment);
//如获取的Fragment为null,创建一个Fragment并保存到FragmentManager中
if (null == fragment) {
fragment = createFragment();
fm.beginTransaction()
.add(R.id.fragmentContainer_activity_fragment,fragment)
.commit()
}
}