在已扩展ActionBarActivity的主要活动中扩展其他类?

时间:2011-10-28 19:27:21

标签: java android google-maps android-mapview android-actionbar

我正在尝试将the Google "ActionBarCompat" sample code中的相同操作栏兼容性添加到我的某个项目中。

我的问题是我已经在我的主类中扩展MapActivity,但ActionBarCompat的主类似乎要求你扩展ActionBarActivity

这是我的Java 101问题:我对Java有足够的了解,知道我不能有多重继承,但还不足以知道处理这种情况的理想方法。我的解决方案是在我的主类中扩展ActionBarActivity,然后使ActionBarActivity扩展MapActivity。这是正确的方法吗?如果是这样的话,如果我想要扩展其他内容,我是不是必须复制ActionBarActivity

感谢您考虑这个问题!

3 个答案:

答案 0 :(得分:1)

是的,这是完全有效的方法。如果您想要一个不扩展MapActivity的ActionBarActivity类,则必须创建另一个类。我不认为这会导致很多代码重复(我猜你正在害怕)。对Android开发人员感到羞耻但是你需要编写自己的ActionBarHelper类。

答案 1 :(得分:1)

查看您提供的示例 - ActionBarActivity仅具有ActionBarHelper字段并在其上调用方法。尝试在MapActivity中执行相同的操作。

答案 2 :(得分:0)

使用“Peter Knego”的解决方案,并链接到此库:

https://github.com/lvillani/android-compat-actionbar

或者如果你使用Eclipse和svn:

https://svn.github.com/lvillani/android-compat-actionbar