在开发过程中,往往我们需要在不同的界面中有相同的一部分布局,如果只是布局需要,但是不需要实现什么事件的话,那我们只需要在布局文件中include引用那个布局就可以了,可如果连同这个布局中控件的事件我们也同样需要运用到不同的界面中呢?这个时候,我们就可以使用Fragment来实现需求了。

步骤:

1,创建一个类MyFragment继承Fragment

2,创建一个布局(即你所需要应用到其他界面的布局)

3,在MyFragment中删除onCreate和onCreateOptionsMenu方法,重写onCreateView方法,这个方法里

View layout = inflater.inflate(R.layout.myfragment_layout, null);

return layout;

然后自行实现布局中各个控件的事件。

4,在你所需要应用这个布局和事件的Activity的布局中添加一个帧布局(FrameLayout,用来存放引用 的布局),同时让这个Activity继承FragmentActivity。

5,在应用的Activity中OnCreate方法中

FragmentManager fragmentMgr = getSupportFragmentManager();

FragmentTransaction ft = fragmentMgr.beginTransaction();

Fragment fragment = new Myfragment();

ft.add(R.id.layout_fragment, fragment );

ft.commit();


这样就实现了需求。