本文共 2198 字,大约阅读时间需要 7 分钟。
Fragment,英文碎片的意思,早期应用在平板设计中
步骤1:创建Fragment对象:(右击新建Fragment一步搞定)
(1).定义一个类, 继承Fragment
(2).重写父类的方法onCreateView() (3).在onCreateView()方法中, 为Fragment 创建UI界面
步骤2:显示Fragment
(1)静态显示 Fragment – 布局页面中直接写a.在Activity 对应的页面中, 通过标签 引入
b.在标签中, 必须要指定id属性, 用来标识Fragment 的唯一性 c.在标签中,必须要有name属性, 用来标识当前显示那个Fragment
(2)动态显示 Fragment — 在Activity.java 代码中显示
a.在Activity 对应的页面中, 需要通过布局容器占位
b.在Activity 代码中得到Fragment 管理器对象 c.得到Fragment 事务管理 添加、移除、显示、隐藏、替换Fragment 提交事务
1.onAttach() :Fragment与Activity有联系。
2.onCreate():创建Fragment 3.onCreateView():创建Fragment视图,尽量不要做耗时操作 4.onActivityCreated():当Activity中的onCreate方法执行完后调用。 5.onStart():启动。 6.onResume():可见 7.onPause():不可见 8.onStop():停止。 9. onDestroyView() :销毁Fragment视图 10.onDestroy():销毁fragment对象 11.onDetach():Fragment和Activity解除关联的时候调用(1)Fragment代码:MyFragment.java
(2)静态显示:activity_main.xml(1)创建多个Fragment类:此处省略
(2)MainActivity代码:MainActivity.java (3)activity_main.xml布局文件:Fragment2 f2 = new Fragment2();
FragmentManager fm = getSupportFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); tx.replace(R.id.fl, f2); //将当前的事务添加到了回退栈 tx.addToBackStack(null); tx.commit();1.在一个 Fragment里发送消息
Message message = new Message(); message.arg1 = 1; message.obj = "datas"; Fragment2.handler.sendMessage(message);
2.在另外一个 Fragment里接收消息
public static Handler handler=new Handler(){ public void handleMessage(Message msg) { super.handleMessage(msg);if (msg.arg1==1){ String data= msg.obj.toString();}
1.定义接口
public interface CallBackListener { void setData(String s);}
2.在一个 Fragment里发送消息
callBackListener.setData("添加数据");
3.在另一个 Fragment里发送消息
public class MyFragment extends Fragment implements CallBackListeners{ ... public void setData(String data) { Toast.makeText(this,data, Toast.LENGTH_SHORT).show(); }}
转载地址:http://nwktn.baihongyu.com/