刚看了一篇大神的文章,用ActivityLifecycleCallbacks替换BaseActivity,来实现公共的需求。
给我打开一个新思路。
先附上大神的地址:https://www.jianshu.com/p/75a5c24174b2
ActivityLifecycleCallbacks替换BaseActivity,主要能解决的问题是:有很多我们自己的activity需要集成除了Baseactivity外的其他的activity,但是java是单继承的。
使用ActivityLifecycleCallbacks后,普通的activity就没有继承了,就可以继承不同的activity了。
可以实现正常的BaseActivity的功能,比如:
管理activity页面栈。
创建公共的自定义的ToolBar。
注意事项
由于 ActivityLifecycleCallbacks 中所有方法的调用时机都是在 Activity 对应生命周期的 Super 方法中进行的,所以在 Activity 的 onCreate 方法中使用 setContentView 必须在 super.onCreate(savedInstanceState); 之前,不然在 onActivityCreated 方法中 findViewById 会发现找不到