Как реализовать общую активность, которую можно расширить обычными действиями, списками и картами?

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

Проблема: когда мне нужно расширить другие конкретные действия, такие как ListActivity и MapActivity, я не могу понять, как расширить общее действие и добавить поведение List или Map в новый класс. Чтобы решить эту проблему, мне пришлось создать три разных общих действия, каждое из которых расширяет Activity, ListActivity и MapActivity.

Я пытался создать абстрактную активность, но она не работает, мне нужно было бы одновременно расширить два класса. Я мог бы попробовать интерфейсы, но поскольку я не умею реализовывать методы, мне пришлось бы вставлять реализацию меню во все классы второго уровня, верно?


person Geraldo Nascimento    schedule 13.10.2010    source источник


Ответы (1)


Вы не можете этого сделать. Java не допускает множественного наследования.

Когда мне нужно такое поведение и это зависит от жизненного цикла Activity, я просто реплицирую его двумя абстрактными классами:

  • AbstractActivity
  • AbstractMapActivity

Вы также можете прочитать больше о множественном наследовании:

person Macarse    schedule 13.10.2010
comment
Вторая ссылка мне очень помогла. Я знал, что не могу сделать это с множественным наследованием, я искал альтернативы. - person Geraldo Nascimento; 14.10.2010