【发布时间】:2012-01-31 15:06:53
【问题描述】:
我认为我的继承问题有解决方案,但我找不到。
我正在开发一个 Android 应用程序(目标是 Android 2.1),它在大多数页面上重复使用 SlidingDrawer(用于我的菜单)。为了避免在所有 Activity 上初始化它,我创建了一个 DefaultActivity 来这样做。在我不得不扩展 TabActivity 之前它运行良好,因为 Java 不支持多重继承。
基本上我有以下默认活动
public class DefaultActivity extends Activity{
// Declarations
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Some code
}
@Override
protected void onPause() {
// Some code
}
protected void initializeMenu() {
// Init
}
}
现在,当我有活动时,我会执行以下操作
public class SomeActivity extends DefaultActivity{
// Declarations
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);
super.initializeMenu();
}
}
但我有一个扩展 TabActivity 的视图,所以我不能这样做
public class SomeOtherActivity extends TabActivity, DefaultActivity
我怎样才能只扩展一个类但其中包含 Activity 和 TabActivity 的代码?
谢谢。
【问题讨论】:
-
您的目标是什么操作系统?这可以通过在 OS 3+ 中使用片段来解决
标签: java android multiple-inheritance