Я думаю, что есть решение моей проблемы наследования, но я не могу его найти.
Я занимаюсь разработкой приложения для Android (целью является Android 2.1), которое использует SlidingDrawer
(для моего меню) на большинстве страниц. Чтобы не инициализировать его во всех действиях, я создал 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
?
Спасибо.