Вызов функции через несколько секунд после прорисовки интерфейса java android studio
Есть один Activity и один xml в котором LinearLayout, в котором один TextView
Как можно вызвать функцию public void createBtn () {Создает кнопку}
через несколько секунд после того как интерфейс прорисуетса и пользователь сможет прочитать TextView?
Ответы (1 шт):
Автор решения: Sergei Buvaka
→ Ссылка
OnGlobalLayoutListener() то самое место где вы можете вызвать свою функцию. Это гарантирует, что ваша View полностью отрисована.
Вот пример:
textView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// здесь вы можете сделать нужную задержку(например с помощью Handler().postDelayed()) и выполнить вашу фукнцию
// здесь стоит отписать листенер, чтоб не вызывать этот метод всякий раз когда View будет перерисовываться
textView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});