4

BaseActivity在我的应用程序中使用了一个帮助使 Google Analytics(分析)更容易一些。

在我的基本活动中,我覆盖onStart()并将onStop()一些东西发送到 EasyTracker。我想设置我的代码,以便它要求我使用活动名称调用超类构造函数,以便BaseActivity可以发送正确的数据。

我尝试在 中设置一个构造函数BaseActivity,它似乎可以工作,但我得到的错误是我的主要活动(扩展BaseActivity)层次结构不一致。

我能做些什么来实现这一目标?

4

1 回答 1

3

你不能用构造函数做到这一点。Android 框架会实例化 Android 组件 ( Service, Activity, BroadcastReceiver, ContentProvider) 本身,你不能乱用它。

我的建议是你onCreate()在你的基础活动中覆盖,并让你的子类super.onCreate()从它们被覆盖的onCreate()方法中调用。在您的基础活动中,您可以通过调用来获取子类的名称getClass().getName()

于 2013-05-30T21:21:32.743 回答