【发布时间】:2011-09-30 20:58:25
【问题描述】:
各位 Android 程序员,
这是我每次制作新应用时都会遇到的问题。想象一下,您的应用中有 Activity、ListActivity 和 MapActivity 的子类。现在我希望每个屏幕都在用户单击菜单按钮时显示相同的选项菜单。所以我用这种行为做了一个 BaseActivity 。但是因为 Java 不允许多重继承,所以我必须为每种类型的 Activity 编写三个 BaseActivities。这很难看,因为我有三倍相同的代码......我能想到的唯一解决方案是在其中一个 BaseActivities 中使某些行为静态,并在其他 BaseActivites 中引用该行为。但是仍然有很多重复......谁有更优雅的解决这个问题的方法?
干杯
【问题讨论】:
-
为什么不在普通的Activity中使用ListView和MapView呢?这样你就可以使用你的单个 BaseActivity。
-
@Niek:您必须在
MapActivity中使用MapView。不过,您关于ListView的观点肯定是好的,而且由于相对较少的应用程序需要嵌入地图,因此使用Activity的一个子类可以帮助您实现大部分目标。
标签: java android architecture multiple-inheritance