#java #android #android_view
Есть ли метод с которого возможно воздействовать на только что отобразившуюся активность?
Мне надо перезапустить view, как только она отрисуется. А отрисовать надо, чтобы узнать
ее размер. После чего сразу выполнить другое действие с этими данными.
Ответы
Ответ 1
К примеру у вас есть View mExampleView повесьте на нее обсервер, он сработает, как только вьюшка будет нарисована на экране. Когда будет вызван onGlobalLayout, вы можете узнать ее размер, затем отпишитесь и выполняйте нужный код. ViewTreeObserver viewTreeObserver = mExampleView.getViewTreeObserver(); viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { mEaxampleView.getHeight(); // будет больше 0 mEaxampleView.getViewTreeObserver().removeGlobalOnLayoutListener(this); // Остальные действия } });Ответ 2
Мне помогает такой код: myView.postDelayed(new Runnable() { @Override public void run() { ...нужные действия } },100); на post View уже отрисовано. UPD: изменил post на postDelayed - так должно работатьОтвет 3
Скорее всего вас устроит метод onResume(). Он есть и в активити и во фрагменте.
Комментариев нет:
Отправить комментарий