我的项目中有2个活动,比如活动A和活动B. A和B 扩展相同的超类:BaseActivity。
我们知道在这种情况下,假设是否打开了活动A,然后调用了超类方法onCreate(),然后是活动A的onCreate()。
在父BaseActivity类的onCreate()方法中,如何确定已启动哪个子活动?
答案 0 :(得分:1)
我建议采用不同的方法。基本上不做继承。改用构图。请记住,您认为需要扩展的大多数操作实际上只需要对上下文的引用。活动从背景延伸。因此,您可以在任何引用活动上下文的类中提供大多数基本功能。根本不需要继承。
因此,如果您想在ActivityA和ActivityB之间共享一些功能,请将其放在HelperC
中HelperC.someOperation(Context c,otherParams)
HelperC可以执行某些基本活动可以执行的任何操作。最终,基础活动永远不会存在。它将始终是实例化的版本A或B
答案 1 :(得分:0)
我认为你不应该这样做。 据我记得扩展的想法,超类方法应该只包含通用代码。将不同的代码放在子类中会更容易,而且我认为更合适。
您可以在父onCreate()中初始化一些值,然后在子项中重新设置它。