2012-08-06 90 views
0

有什麼辦法可以從一個活動轉到另一個活動並延遲目標活動屏幕的顯示?直到獲取數據後才阻止屏幕顯示

我想要做的是允許目標活動獲取其所需的數據,但不顯示任何東西,直到做到。 我希望源活動的屏幕仍然可見,直到我準備好第二個活動中的數據。

具體來說,我使用AsyncTask來獲取數據。 我知道我可以獲取源活動中的數據,然後將其發送到目標活動,但在我們的例子中這不可行。

編輯:詳細信息:

的全部原因我想這是因爲我想改變當前代碼的某些部分的結構。 目前,它的工作方式是第一個活動獲取數據,然後將其作爲一個包發送給第二個活動。 當第二個活動可以從多個地方調用時,會產生問題。它導致了大量的重複代碼。

因此,我決定將數據提取到目標活動中,因此不需要重複代碼。

它也更有意義的活動獲取自己的數據,而不是依靠別的東西發送它。

+0

爲什麼不在同時顯示'ProgressDialog'的下載/獲取數據? – waqaslam 2012-08-06 11:39:21

+0

這沒有幫助,因爲活動的切換會顯示一個新的空白屏幕。 – theblitz 2012-08-06 12:15:52

回答

0

嘗試爲此目的使用服務。

1

您應該首先創建一個運行異步任務的服務。然後,從您的第一個活動開始執行服務startService(new Intent(this, UpdaterServiceManager.class));

當任務在服務中結束時,開始第二個活動。

Click here爲優秀的服務教程。

+0

在某些方面這種失敗的原因。我會在原文中添加更多內容。當然,這需要我爲每個目標活動創建一項服務。 – theblitz 2012-08-06 11:55:49

+0

您可以隨時擁有一項服務,[將額外數據](http://android-coding.blogspot.com/2011/03/pass-data-from-activity-to-service.html)添加到相應的任務中您希望執行任務並完成任務完成後您想要調用的活動。然後在服務中,獲取額外的變量,運行任務並調用指定的活動。這隻會是一項服務。 – 2012-08-06 13:07:29

+0

我希望這是有道理的,告訴我,如果沒有。 – 2012-08-06 13:07:44

相關問題