我在我的应用中使用BaseActivity
来帮助您轻松地使Google Analytics更加轻松。
在我的基本活动中,我会覆盖onStart()
和onStop()
向EasyTracker发送一些内容。我想设置我的代码,以便它需要使用活动的名称调用超类构造函数,以便BaseActivity
可以发送正确的数据。
我尝试在BaseActivity
中设置一个构造函数,它似乎有效,但我得到的错误是我的主要活动(扩展BaseActivity
)层次结构不一致。
我能做些什么来实现这个目标?
答案 0 :(得分:3)
你不能用构造函数来做这件事。 Android框架实例化了Android组件(Service
,Activity
,BroadcastReceiver
,ContentProvider
)本身,你无法解决这个问题。
我的建议是,您在基本活动中覆盖onCreate()
,并让子类从其重写的super.onCreate()
方法调用onCreate()
。在您的基本活动中,您可以通过调用getClass().getName()
来获取子类的名称。