Есть ли у Android эквивалент функций Cocoa viewDidLoad и viewDidAppear?
Если нет, то как мне выполнить действие, когда появится представление? Мое приложение представляет собой приложение с вкладками, в которой на одной из вкладок есть список тем форума. Я бы хотел, чтобы список тем обновлялся каждый раз, когда открывается вид. Возможно ли такое в Android?
Класс Activity имеет методы onCreate и onResume, которые очень похожи на viewDidLoad и viewDidAppear.
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;
}
});
Исходя из моего ограниченного, зарождающегося понимания Android, вы реализуете функциональность типа viewDidLoad в методе onCreate вашего Activity :
onCreate (Bundle) - это то место, где вы инициализировать свою деятельность. Большинство что важно, здесь вы обычно вызов setContentView (int) с макетом ресурс, определяющий ваш пользовательский интерфейс и использующий findViewById (int), чтобы получить виджеты в этом интерфейсе, которые вам нужно программно взаимодействовать с.
Эквивалент для viewDidAppear ближе к методу onResume :
Вызывается после onRestoreInstanceState (пакет), onRestart () или onPause () для вашего активность, чтобы начать взаимодействие с Пользователь. Это хорошее место для начала анимации, открытый эксклюзивный доступ устройства (такие как камера) и т. д.