0

我的项目中有 2 个活动,比如说活动 A 和活动 B。A 和 B 都扩展了同一个超类:BaseActivity。
我们知道,在这种情况下,假设如果打开了 Activity A,则调用超类方法 onCreate(),然后是 Activity A 的 onCreate()。

在父 BaseActivity 类的 onCreate() 方法中,如何确定哪个子活动已启动?

4

2 回答 2

1

我会建议一种不同的方法。基本上不做继承。改用合成。请记住,您认为需要扩展的大多数操作实际上只需要对上下文的引用。活动从上下文延伸。所以实际上,您可以在任何引用活动上下文的类中提供大多数基本功能。根本不需要继承。

因此,如果您想在 ActivityA 和 ActivityB 之间共享某些功能,只需将其放入 HelperC

HelperC.someOperation(上下文 c, otherParams)

HelperC 可以做一些基本活动可以做的任何事情。最终,基本活动将永远不会存在。它总是一个实例化的版本 A 或 B

于 2012-06-06T22:44:13.743 回答
0

我认为你不应该这样做。据我记得扩展的想法,超类方法应该只包含通用代码。在子类中放入不同的代码会更容易,而且我认为更合适。

您可以在 parent onCreate() 中初始化一些值,然后在 childs' 中重新设置它。

于 2012-06-06T22:27:29.923 回答