Intereting Posts
Android – Google Spreadsheet Api Конфигурация запуска Android Studio для создания конфигурации ORMLite Как настроить репозитории Git для разработки Android в Eclipse? Android VM сбой при запуске Mac Быстрая отмена / повтор с использованием шаблона памяти / команды? Обнаружение утечек памяти в коде Android JNI Не удалось определить класс-путь для интерфейса com.android.builder.model.AndroidProject Проблемы с визуализацией пользовательского интерфейса Android – Отсутствует библиотека «… должен поставлять layout_height …», но это в моих ресурсах стиля? Во втором тесте getActivity () никогда не возвращается NoClassDefFoundError, когда я использую lambda для перемещения массива String Android-устройство отключается от отладчика через несколько секунд после достижения точки останова Как отправить уведомление определенным пользователям с помощью FCM? Очень плохое качество звука, записанного на моем дроиде, используя MediaRecorder, почему? Lollipop VM в Genymotion – возможно, ARM Translation не работает

Какой метод называется моментом, когда деятельность полностью изложена и готова для взаимодействия с пользователем?

Мне нужен способ запускать код в тот момент, когда активность полностью загружена, выложена, нарисована и готова к сенсорным элементам управления пользователя. Какой метод / слушатель делает это?

Solutions Collecting From Web of "Какой метод называется моментом, когда деятельность полностью изложена и готова для взаимодействия с пользователем?"

Commonsware прав, не объясняя, что вы пытаетесь сделать и почему, невозможно ответить на ваш вопрос, и я подозреваю, что с деталями вы, вероятно, думаете об этом неправильно.

Тем не менее, у меня есть код, в котором мне нужно было сделать очень фанк-макет после того, как все было измерено.

Я мог бы расширить каждый из классов вида в макете и переопределить onMeasure() но это было бы большой работой. Итак, я закончил это. Не очень, но это работает.

MainMenuLayout – это макет, в котором мне нужно было напугать. onGlobalLayout callback onGlobalLayout вызывается, когда макет завершил рисование. Utils.setTitleText() – это место, где происходит funkiness, и когда я передаю mainMenuLayout к нему, он имеет доступ к положению и размеру всех дочерних представлений.

 mainMenuLayout.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // only want to do this once mainMenuLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this); // set the menu title, the empty string check prevents sub-classes // from blanking out the title - which they shouldn't but belt and braces! if (!titleText.equals("")){ Utils.setTitleText(_context,mainMenuLayout,titleText); } } }); 

Я обнаружил, что если я Runnable в очередь сообщений, он будет запущен после того, как будет создан контент для активности. Например, если я хочу ширину и высоту представления, я бы сделал следующее:

 view.post( new Runnable() { @Override public void run() { int width = view.getWidth(); // will be non-zero int height = view.getHeight(); // will be non-zero } } ); 

Я нашел успех с этим в любое время после вызова setContentView() .

Метод onRestoreInstanceState – это тот, который вызван для восстановления состояния пользовательского интерфейса, которое вызывается после onResume. Я думаю, вы можете использовать этот метод onRestoreInstanceState .. и поместите свой код после восстановления состояния пользовательского интерфейса из сохраненногоInstanceState …

Попробуйте onPostResume() вызванный после onResume() в этот момент экземпляр Activity должен быть видимым, и отображаются все основные Представления. Во многих ситуациях это верно, когда onResume() вызывается.

Может быть, это немного помогает:

 @Override public void onAttachedToWindow(){}