Android расширяет несколько типов активности

1

Я хочу расширить как MapActivity, так и FragmentActivity. Я знаю, что Java не допускает множественного наследования, поэтому как мне это сделать? Я читал что-то о "составном" типе, но я никогда не реализовал его, поэтому я не знаю, как это сделать.

Кто-то еще должен был столкнуться с этим раньше, как вы его решили?

EDIT: Причина, по которой я хочу это, состоит в том, что у меня есть 3 действия на вкладках; карту, галерею изображений и представление списка настроек. Код для всех трех "acitivities" находится внутри одной большой MapActivity под названием "Main". Да, я знаю, что это уродливое, а не хорошая практика программирования, и я не помню, почему я написал это так. Я думаю, что это было потому, что я читал большинство людей, рекомендующих НЕ иметь отдельные действия для отдельных вкладок... что, если бы я решил разделить их на отдельные действия, у меня больше не было бы этой проблемы.

  • 1
    Кто сказал, что не стоит использовать отдельные виды деятельности? Кроме введения фрагментов, я не могу понять, почему они плохи.
  • 0
    @AedonEtLIRA - stackoverflow.com/questions/1590340/… stackoverflow.com/questions/1568739/…
Показать ещё 1 комментарий
Теги:
multiple-inheritance

2 ответа

0
Лучший ответ

Я решил это решить, зайдя и изменив исходный код пакета поддержки Android и разместив приложение с этим. Описанный здесь, все, что я сделал, это сделать FragmentActivity (android.support.v4.app) расширением MapActivity. Я не думаю, что обратное работает... хотя, может быть, и потребовалось бы, чтобы у вас был источник библиотеки сопоставления, который вы используете (в случае с Google Maps - нет)

0

Я понятия не имею, зачем вам это нужно, но я считаю, что самое легкое решение - это что-то вроде ActivityGroup, что-то похожее на то, как работает TabbedActivity.

  • 0
    Activitygroup устарела, поэтому я бы не стал ее использовать. плохо отредактировать мой вопрос, чтобы попытаться объяснить, почему
  • 0
    Я согласен, я также не понимаю, почему вы хотели бы сделать это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню