Android onWindowFocusChanged早期调用

时间:2017-02-18 16:56:41

标签: android android-activity android-lifecycle oncreate activity-lifecycle

在我的活动中需要从webservice下载图像,因此我编写了一个updateUi方法,在onCreate()中调用以隐藏ui元素(因为此时缺少数据)并且显示一个简单的TextView,其中包含“数据加载...”等消息。

然后我使用加载onWindowFocusChanged的{​​{1}}来调用它一次。在boolean我从网络服务下载我需要的所有数据并再次致电onWindowFocusChanged以显示原始用户名并隐藏“数据加载”updateUi

目标是在用户按下按钮而不是隐藏处理后立即打开新活动,而用户不知道发生了什么。

我喜欢其他10个活动,这种方法运行良好,没有任何问题,但在这个特定的活动中,似乎TextView在新活动出现之前被调用。如果我点击按钮打开活动,显示屏上没有任何事情发生一段时间,然后活动以原始ui开始,并填入所有数据。

我不明白为什么活动没有出现“数据加载...”onWindowFocusChanged,而不是在TextView执行活动时没有显示任务?

代码与我的其他活动相同,是否有人对此问题有过任何经验?

1 个答案:

答案 0 :(得分:0)

我注意到,在第一次创建活动时,问题并不存在。如果我点击一个启动活动的按钮,第一次显示加载消息的textview,其他ui元素被隐藏。

如果我再次启动活动,则会出现问题......