我在Android中有一个继承自Activity的父类,所有其他活动都从该父类继承。这个父母在onPause和onResume上做了一些生命周期的东西,我的所有活动都需要。问题是我有一个必须从Android的MapActivity继承的Map活动,但我仍然需要这个活动来拥有我的父类生命周期方法。有没有办法让MapActivity继承两个父母?或者也许是部分课程,我不太确定。任何想法都会很棒。
谢谢,
布赖恩
答案 0 :(得分:2)
简短的回答是否定的。你不能拥有一个继承Java中两个类的类。标准建议是使用interface
,但我不认为在这种情况下适合您。
也许您可以通过使用组合来实现您正在寻找的代码重用,例如,而不是继承。如果您发布代码示例,我可以给您一个更具体的答案。
答案 1 :(得分:0)
抱歉,在Java中,您只能扩展一个课程。但是,您可以实现多个接口。您可以让BaseMapActivity类扩展MapActivity,然后让MainMapActivity扩展BaseMapActivity。最简单的方法是从已存在的基础Activity
复制代码并将其放入MainMapActivity中。
答案 2 :(得分:0)
在Java中,您只能从单个类扩展,但是您可以从单个类实现多个类。另一件需要考虑的事情是将扩展的子类链接在一起(这模拟了多重继承)。
可在此处找到更好的说明:http://www.javaworld.com/javaworld/jw-10-2005/jw-1024-multiple.html
答案 3 :(得分:0)
这很有趣,我今天早些时候遇到了完全相同的问题(但是使用了PreferenceActivity)。
不幸的是,我不认为这是可能的,我最终制作了我父类的副本并将名称和extends Activity
更改为extends PreferenceActivity
。