我正在开发一个Android应用程序,它目前有两个活动,A和B,它们有一些共同的代码,它们的选项菜单和一些其他代码。为了减少复制和粘贴,我创建了一个名为BaseActivity的类,它使用,扩展了Activity,然后让A和B扩展BaseActivity。至少那是我想做的,但我遇到了一个问题。虽然A现在很好地扩展了BaseActivity,但我无法弄清楚如何使B扩展BaseActivity,因为它不仅仅是一个活动,而是一个MapActivity。所以它的继承树看起来像这样:
MapActivity继承树:
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.view.ContextThemeWrapper
android.app.Activity
com.google.android.maps.MapActivity
但是为了继承我的代码,我需要让它看起来像这样:
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.view.ContextThemeWrapper
android.app.Activity
mypackage.BaseActivity
com.google.android.maps.MapActivity
有没有办法在继承树中插入我的自定义类?
答案 0 :(得分:4)
答案 1 :(得分:1)
好吧,因为你的代码实际上是一个MapActivity,它应该扩展它(假设你不想做组合)。如果你想组成,你的类会引用MapActivity,这将允许你与该类进行交互。