В моей деятельности необходимо загрузить изображение из веб-сервиса, поэтому я написал метод updateUi
, который вызывается в onCreate()
, чтобы скрыть элементы ui (из-за отсутствия данных в это время) и показать простой TextView
с сообщением типа «загрузка данных ...».Android onWindowFocusChanged позвонил до начала
Затем я использую onWindowFocusChanged
с загруженным boolean
, чтобы позвонить ему только один раз. В onWindowFocusChanged
я загружаю все необходимые данные из веб-службы и звоню updateUi
еще раз, чтобы показать исходный ui и скрыть «загрузку данных» TextView
.
Цель состоит в том, чтобы немедленно открыть новое действие после нажатия пользователем кнопки вместо скрытой обработки, в то время как пользователь не знает, что происходит.
У меня есть 10 других видов деятельности, где этот метод работает очень хорошо без каких-либо проблем, но в этом конкретном действии кажется, что onWindowFocusChanged
вызывается до появления нового действия. Если я нажимаю на кнопку, чтобы открыть действие, на некоторых секундах ничего не происходит, а активность начинается с оригинала ui со всеми заполненными данными.
Я не понимаю, почему активность не отображается с «загрузкой данных ..» TextView
вместо выполнения задач в onWindowFocusChanged
, пока активность не появилась?
Код такой же, как и в других моих действиях, есть ли у кого-нибудь опыт в этой проблеме?