0

在我的活動中需要從web服務下載圖片,因此我編寫了一個updateUi方法,該方法在onCreate()中調用以隱藏ui元素(因爲此時缺少數據)並顯示簡單TextView帶有「數據加載...」等消息。Android onWindowFocusChanged早期調用

然後我使用onWindowFocusChanged加載boolean來調用它只有一次。在onWindowFocusChanged中,我從web服務下載所需的所有數據,並再次調用updateUi以顯示原始UI並隱藏「數據加載」TextView

的目標是立即打開新的活動用戶按下一個按鈕後,而不是隱藏處理,而用戶不知道發生了什麼。

我有10個其他活動,這種方法很好地工作沒有任何問題,但在這個特定的活動,似乎onWindowFocusChanged在新的活動出現之前被調用。如果我點擊按鈕打開活動,在顯示器上沒有任何事情發生,然後活動以所有數據填充的原始UI開始。

我不明白爲什麼活動不顯示與「數據加載..」TextView而不是執行onWindowFocusChanged中的任務,而活動尚未顯示?

的代碼,就像是我的其他活動一樣,是否有人有這個問題的經驗嗎?

回答

0

我注意到,問題不存在於活動的第一次創建中。如果我點擊一個按鈕,首次顯示加載消息的textview並且其他UI元素被隱藏時,啓動該活動的按鈕。

如果我離開活動再次啓動它發生問題...