ActivityLifecycleCallbacks

android.app; Application中ActivityLifecycleCallbacks 对activity的生命周期事件进行集中处理

    public interface ActivityLifecycleCallbacks {
        void onActivityCreated(Activity activity, Bundle savedInstanceState);
        void onActivityStarted(Activity activity);
        void onActivityResumed(Activity activity);
        void onActivityPaused(Activity activity);
        void onActivityStopped(Activity activity);
        void onActivitySaveInstanceState(Activity activity, Bundle outState);
        void onActivityDestroyed(Activity activity);
    }


Application中注册ActivityLifecycleCallbacks接口


  registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivityCreated--------]");
                addActivity(activity);        //把activity 添加Activity到堆栈
            }
            @Override
            public void onActivityStarted(Activity activity) {
                LogUtils.i("[--------"+activity.getPackageName()+"--------onActivityStarted--------]");
            }

            @Override
            public void onActivityResumed(Activity activity) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivityResumed--------]");
            }

            @Override
            public void onActivityPaused(Activity activity) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivityPaused--------]");
            }

            @Override
            public void onActivityStopped(Activity activity) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivityStopped--------]");
            }

            @Override
            public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivitySaveInstanceState--------]");
            }

            @Override
            public void onActivityDestroyed(Activity activity) {
                LogUtils.i("[--------"+getFragmentNameTAG(activity)+"--------onActivityDestroyed--------]");
                removeActivity(activity);
            }
        });

让activity实现自定义接口;

public interface IActivity {
    @LayoutRes
    int getContentViewLayoutRes();
    void initData();
}

ActivityLifecycleCallbacks中onActivityCreated方法中给activity设置布局文件


 if (activity instanceof IActivity){
     activity.setContentView(((IActivity) activity).getContentViewLayoutRes());
    ((IActivity)activity).initData();
 }else if(activity instanceof VActivity){...}


在activity中实现butterknife绑定


public class ButterKnifeSerializable implements Serializable {

    private Unbinder unbinder;
    public void setUnbinder(Unbinder unbinder){
        this.unbinder = unbinder;
    }
    public Unbinder getUnbinder(){
        return unbinder;
    }
}

 
ActivityLifecycleCallbacks中onActivityCreated方法中实现butterknife绑定
     ButterKnifeSerializable bean = new ButterKnifeSerializable();
     Unbinder unbinder = ButterKnife.bind(activity);
     bean.setUnbinder(unbinder);
     activity.getIntent().putExtra("ButterKnifeSerializable", bean);


ActivityLifecycleCallbacks中onActivityDestroyed方法中实现butterknife解绑

    ButterKnifeSerializable bean = (ButterKnifeSerializable) activity.getIntent().getSerializableExtra("ButterKnifeSerializable");
    bean.getUnbinder().unbind();






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值