ActivityLifecycleCallbacks
来源:互联网 发布:中世纪2优化9西西里 编辑:程序博客网 时间:2024/05/10 02:38
在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
- ActivityLifecycleCallbacks
- ActivityLifecycleCallbacks
- ActivityLifecycleCallbacks
- ActivityLifecycleCallbacks
- Android activitylifecyclecallbacks
- Activitylifecyclecallbacks使用
- 详解ActivityLifecycleCallbacks
- ActivityLifecycleCallbacks简单介绍
- 安卓Activitylifecyclecallbacks使用
- Application.ActivityLifecycleCallbacks的使用方法
- ActivityLifecycleCallbacks使用示例
- ActivityLifecycleCallbacks的使用
- ActivityLifecycleCallbacks使用方法初探
- Android ActivityLifecycleCallbacks 分析
- Android开发 - ActivityLifecycleCallbacks使用方法初探
- Android开发 - ActivityLifecycleCallbacks使用方法初探
- Android开发 - ActivityLifecycleCallbacks使用方法初探
- ActivityLifecycleCallbacks的正确使用姿势
- tez hive llap安装
- TextInputLayout与TextInputEditText详解
- Ansys.Electronics.18.1电子有限元分析
- 数组操作的工具类:ArrayUtil
- Android Volley的使用(二)上传文件到腾讯云
- ActivityLifecycleCallbacks
- Git 标签
- 泛前端技术总监
- 左右布局:左边定宽、右边自适应的3种方案
- 测试那点事--关于app端
- 如何测试一个WEB的输入框?
- Ajax跨域访问
- MATLAB错误说明
- git 本地分支关联创建远程分支