Активатор активности Android

android.app.Activty
    |
    |
    |
    |
com.mycompany.ActivityWrapper
    |  <--------------------------------\
    |       \                           |
    |       |                           |
    |       |                           |
    |   android.app.ListActivty     android.app.ExpandableListActivity
    |           |                       |
    |           |                       |
    |           |                       |
MyActivity1     |                      |
                |                       |
            MyActivity2                 MyActivity3

Мне нужно сделать класс (com.mycompany.ActivityWrapper), который расширяет android.app.Activity и расширяет следующие методы:

  • OnCreate
  • onResume
  • onConfigurationChanged
  • onMenuOpened

Я хочу, чтобы все мои действия (которые уже распространяются на monent android.app.Activity, android.app.?ListActivity) используют код моего com.mycompany.ActivityWrapper

У меня нет идей, как это реализовать (возможно, с помощью%).

Помоги мне, плз

1 ответ

Решение

У меня есть некоторые из тех же проблем, и хотя мне было больно, но единственный полезный способ сделать это - создать несколько базовых классов. Например, у вас будет ActivityWrapper, ListActivityWrapper, ExpandableListActivityWrapper, Вы можете обойти часть дублирования кода, переместив общий код, который вы хотите вызвать, в новый класс, что-то вроде ActivityExtensions, который вы просто позвоните из различных onCreate методы и тд.

Другие вопросы по тегам