нужно как-то расширить два класса

#android

#Android

Вопрос:

Я создаю приложение, которое имеет макет панели инструментов в качестве главного экрана, и каждый значок открывает отдельное действие.

У меня есть абстрактный класс под названием DashboardActivity, в котором есть метод, например, что делать, когда нажата кнопка home в строке заголовка и т.д.

Затем у меня есть различные классы, такие как «отели», которые будут отображать список отелей. Этот класс расширяет DashboardActivity, но мне также нужно, чтобы он расширял ListActivity, потому что это будет список, но я знаю, что это невозможно сделать.

Какой обходной путь я могу использовать для решения этой проблемы? Спасибо

Комментарии:

1. Почему DashboardActivity не может расширить ListActivity?

2. но у меня есть другие действия, такие как Map, которые необходимо будет расширить MapActivity

3. тогда почему бы не определить DashboardActivity как интерфейс вместо класса?

4. значит ли это, что я должен реализовать все методы DashBoardActivity в каждом классе, который я использую?

Ответ №1:

У меня была похожая проблема. Способ, которым я решил это, — создать базовый класс для каждого. DashboardListActivity и DashboardActivity. Я не уверен в лучшем способе. Затем в List activities просто расширьте DashboardListActivity.

Может быть лучший способ, но я его не знаю. Конечно, у вас есть двойное обслуживание этих двух базовых классов, поэтому есть компромисс.