关于fragment

前面已经写过一些内容了,再总结下:

1.fragment生命周期

onAttach(Activity):fragment与activity关联时调用。现已过时,最新方法是onAttach(Context);
onCreate(Bundle ):fragment对象初始创建时调用;
onCreateView(LayoutInflater, ViewGroup,Bundle):创建和fragment关联的View;
onActivityCreated(Bundle): 当activity的onCreate()方法结束后调用;
onStart():fragment真正显示给用户;
onResume():当包含该fragment的activity重新启用时调用;

onPause():当fragment所依赖的activity被挂起,或者fragment不在和用户交互时调用;
onStop():当fragment所依赖的activity被终止,或者fragment被隐藏时调用;
onDestroyView():当fragment对象被移除时调用;
onDestroy():fragment对象被清理完成后调用;
onDetach():当fragment对象和activity联系中断时调用;

2.fragment和activity通信
1)一般在activity中启动fragment,这种时候,如果想要从activity中传值给fragment,可以通过fragment.setArguments(bundle),将数据存到bundle中带给fragment,在fragment中,getArguments().getString()或者get其他,得到相应数据;

2)通过接口回调方式

@Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
         mClickListener = (MClickListener) activity;
    }

可以在fragment中创建接口,并通过onAttach方法,将接口实例绑定至activity,就可以在fragment中通过mClickListener启动接口中的方法,在activity中实现接口,重写方法就能得到fragment传递来的数据;

3)一个强大的库EventBus
在应用中当想通知其他组件某些事情发生时就会使用到开源框架EventBus。它主要功能是可以替代Intent、Handler、BroadCast在Fragment、Activity、Service、线程之间传递消息。优点是开销小,代码简洁,解耦代码。

强大,好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值