Эквивалент Android viewDidLoad и viewDidAppear
Есть ли у Android эквивалент функций Cocoa viewDidLoad и viewDidAppear?
Если нет, то как мне приступить к выполнению действия при появлении представления? Мое приложение - это приложение с вкладками, в котором одна из вкладок представляет собой список тем форума. Мне хотелось бы, чтобы список тем обновлялся каждый раз, когда появляется представление. Возможно ли это в Android?
Ответы
Ответ 1
Класс Activity имеет методы onCreate и onResume, которые довольно похожи на viewDidLoad и viewDidAppear.
Activity.onResume
ИЗМЕНИТЬ
Чтобы добавить к этому, поскольку некоторые упомянули в комментариях, что дерево просмотров еще не полностью доступно во время этих обратных вызовов, есть 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;
}
});
Ответ 2
onResume() больше похож на viewCouldAppear.:) public void onWindowFocusChanged (boolean) является ближайшим к viewDidAppear. На этом этапе жизненного цикла деятельности вы можете задать представление о его размере.
Ответ 3
Из моего ограниченного, зарождающегося понимания Android вы реализуете функциональность типа viewDidLoad в методе onCreate вашего Activity:
onCreate (Bundle) - это место, где вы инициализируйте свою деятельность. Наиболее что важно, здесь вы обычно будете вызов setContentView (int) с макетом ресурс, определяющий ваш пользовательский интерфейс, и использование findViewById (int) для извлечения виджеты в этом пользовательском интерфейсе, которые вам необходимы взаимодействовать с программным обеспечением.
Эквивалент для viewDidAppear ближе к onResume метод:
Вызывается после onRestoreInstanceState (Bundle), onRestart() или onPause(), для вашего активности, чтобы начать взаимодействие с пользователь. Это хорошее место для начала анимации, открытый эксклюзивный доступ устройства (например, камера) и т.д.