Активатор активности Android - PullRequest
1 голос
/ 02 марта 2011
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) используют код моего ком.mycompany.ActivityWrapper

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

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

1 Ответ

2 голосов
/ 02 марта 2011

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

...