Эквивалент viewDidLoad и viewDidAppear в Android

Есть ли у Android эквивалент функций Cocoa viewDidLoad и viewDidAppear?

Если нет, то как мне выполнить действие, когда появится представление? Мое приложение представляет собой приложение с вкладками, в которой на одной из вкладок есть список тем форума. Я бы хотел, чтобы список тем обновлялся каждый раз, когда открывается вид. Возможно ли такое в Android?

31
задан RedBlueThing 18 August 2010 в 15:08
поделиться

2 ответа

Класс Activity имеет методы onCreate и onResume, которые очень похожи на viewDidLoad и viewDidAppear.

Activity.onResume

EDIT

Чтобы добавить к этому, поскольку некоторые упоминали в комментариях, что дерево представления еще не полностью доступно во время этих обратных вызовов, существует ViewTreeObserver, который вы можете прослушать, если вам нужно первый доступ к иерархии представлений. Вот пример того, как вы можете использовать ViewTreeObserver для этого.

    View someView = findViewById(R.id.someView);
    final ViewTreeObserver obs = someView.getViewTreeObserver();
    obs.addOnPreDrawListener(new OnPreDrawListener() {

        public boolean onPreDraw() {
            obs.removeOnPreDrawListener(this);
            doMyCustomLogic();
            return true;
        }
    });
21
ответ дан 27 November 2019 в 22:37
поделиться

Исходя из моего ограниченного, зарождающегося понимания Android, вы реализуете функциональность типа viewDidLoad в методе onCreate вашего Activity :

onCreate (Bundle) - это то место, где вы инициализировать свою деятельность. Большинство что важно, здесь вы обычно вызов setContentView (int) с макетом ресурс, определяющий ваш пользовательский интерфейс и использующий findViewById (int), чтобы получить виджеты в этом интерфейсе, которые вам нужно программно взаимодействовать с.

Эквивалент для viewDidAppear ближе к методу onResume :

Вызывается после onRestoreInstanceState (пакет), onRestart () или onPause () для вашего активность, чтобы начать взаимодействие с Пользователь. Это хорошее место для начала анимации, открытый эксклюзивный доступ устройства (такие как камера) и т. д.

4
ответ дан 27 November 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: