Fragment是一种可以嵌入在活动当中的UI片段,建议使用support-v4库中的Fragment,因为它可以让Fragment在所有Android系统版本中保存功能一致性。
新建两个Fragment布局文件
并在各自的Fragment代码文件中复写onCreateView()方法,然后通过LayoutInflater的inflate()方法将刚才定义的Fragment布局文件动态加载进来。如:View view = inflater.inflate(R.layout.xxx, container, false)
在Activity布局文件中添加两个Fragment控件,同时还需要通过android:name属性来显示指明要添加的Fragment类名,这里一定要将类的包名也加上
创建待添加的Fragment实例
获取FragmentManager,在Activity中科院直接通过调用getSupportFragmentManager()方法得到
开启一个事物,通过调用beginTransaction()方法开启
像容器内添加或替换碎片,一般使用replace()方法实现,需要传入容器的id和待添加到Fragment实例
提交事务,调用commit()方法来完成
transaction.addToBackStack(null)
Activity中调用Fragment里的方法,调用SupportFragmentManager中findFragmentById()方法,可以从活动中得到相应Fragment的实例,然后就能调用Fragment里的方法。如:RightFragment rightFragment = (RightFragment) getSupportFragmentManager().findFragmentById(R.id.right.fragment)
Fragment中调用Activity里的方法,每个Fragment都可以调用getActivity()方法来得到和当前Fragment相关联的Activity实例。如:MainActivity activity = (MainActivity) getActivity()
Fragment之间的通信,首先在一个Fragment中得到与他相关联的Activity,然后在通过这个Activity去获取另一个Fragment的实例,这样即实现了Fragment之间的通信功能
