所以我写了一个滚动图像组件,它使用相对布局,线性布局, AsyncTasks和画布绘图。在开发过程中,我通过在虚拟活动中编写所有内容来测试应用程由于我的组件使用线程与服务器通信,因此线程创建和销毁与活动生命周期相关。
现在,我想将此组件嵌入到应用程序的真正主要活动中。所以我的问题是有一种方法可以使我的组件了解活动生命周期事件。我现在使用的方法是创建一个匹配的生命周期方法,例如(onMyComponentCreate())并在onCreate中调用它。还有另一种方法吗?
答案 0 :(得分:0)
您可以将Activity子类化并使用发布者/订阅者模式来通知订阅者Activity生命周期事件。
创建一个具有相同方法的接口(onCreate,onPause等),并让您的控件实现此接口。将这些接口类型的列表添加到Activity子类,并公开用于附加和分离订阅者的公共方法(不要忘记在onDestroy中清除引用)。然后,覆盖所有生命周期方法,并在超类(super.onCreate等)上调用生命周期方法后,遍历所有订阅者并在其上调用相同的方法。