2011-12-13 4 views
0

Есть ли способ заменить класс Activity по умолчанию собственной реализации, распространяющейся из этого класса с помощью roboguice?roboguice replace Activity с собственной реализацией

Например деятельность, как это:

public class MyActivity extends Activity 
{...} 

заменит класс по умолчанию активность и станет основой деятельности для всех других производных деятельности.

ответ

1

Да. Самый простой способ - расширить свою базовую активность от RoboActivity.

Например.

class MyBaseActivity extends RoboActivity { ... } 

И тогда все ваши действия простираются от MyBaseActivity.

Однако, если по каким-то причинам вы не хотите, чтобы простираться от RoboActivity, вы можете легко добавить инъекции ваших собственных действий, выполнив следующие действия:

class MyBaseActivity extends Activity { 

    public void onCreate(Bundle b) { 
     super.onCreate(b); 
     RoboGuice.getInjector(this).injectMembersWithoutViews(this); 
    } 

    public void onContentChanged() { 
     super.onContentChanged(); 
     RoboGuice.getInjector(this).injectViewMembers(this); 
    } 
} 

Посмотрите на RoboActivity's source для получения более подробной информации. Если вам не нужны события, требуемые изменения довольно просты.

Смежные вопросы