roboguice заменяет Activity собственной реализацией - PullRequest
0 голосов
/ 13 декабря 2011

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

Например, такое действие:

public class MyActivity extends Activity
{...}

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

1 Ответ

1 голос
/ 13 декабря 2011

Да.Самый простой способ - расширить базовую активность с 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 .Пока вам не нужны события, необходимые изменения довольно просты.

...