我写的其中一个类需要在发生以下 Activity
事件时作出反应:
-
onStart()
-
onPause()
-
onResume()
-
onStop()
我可以对活动本身的那些做出反应:
public class Activity extends ApplicationContext
{
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
从 Activity
我可以告诉有问题的对象发生了某个事件,但我不喜欢这个想法:它需要开发人员在我的 object/class
之外实现逻辑 . 理想情况下,我希望该对象负责注册这些事件并将其自身设置为侦听器,而与 Activity
无关 .
有任何想法吗?提前致谢 .
2 回答
API级别14具有Application.ActivityLifecycleCallbacks .
在那之前,afaik,对不起,没有 .
如果您希望将您的课程提供给其他人,您将需要提供扩展最常见活动的抽象类,或者让他们将某些调用放在他们自己的Activity的生命周期方法中,例如
也可以使它更通用,并创建接受NotifyingActivity.LifecycleListener的抽象NotifyingActivity类,并使您的类实现这样的侦听器并在其构造函数中注册自己 .
您可以使用this library完全按照您要执行的操作,而无需在您的活动或基本活动中编写代码 .
而且使用起来非常简单:
也许它有助于某人