我遇到了一些與我的應用程序,我不知道如何解決的問題。當我開始我的應用程序時,我的儀表板活動啓動並執行一些網絡任務(在後臺下載信息)。然後,我點擊了新聞按鈕,然後我被帶到新聞活動中,在那裏我再次下載後臺信息,用最新消息填充我的列表視圖。要啓動我使用下面的代碼活動的新聞:Android - 執行額外的不必要的任務來回
public void onNewsClick(View v) {
startActivity(new Intent(this, NewsActivity.class));
}
裏面的新聞活動我有主頁按鈕,用戶應按找回儀表盤的操作欄。如果我點擊了android後退按鈕,dashboad就會打開,並且第一次啓動儀表板時下載的數據不會再次下載(預期場景)。但是,如果我點擊主頁按鈕,儀表板將打開並重新下載數據。當按下主頁按鈕時會取消以下代碼:
public static Intent createIntent(Context context) {
Intent i = new Intent(context, DashboardActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
return i;
}
如果按Home按鈕,我希望儀表板不會再次下載數據。此外,如果我再次開始新聞活動,最新消息的列表將再次下載,這將導致大量流量,我不希望它。
所以我有兩個問題: 1.我怎樣才能讓用戶回到儀表板而不再次加載數據? 2.如何在沒有重新加載列表的情況下返回新聞活動的停留時間?
非常感謝您的任何答案! 牛逼
第一個建議工作正常。現在回到儀表板不會重新加載數據。但是,第二個建議不起作用。當從儀表板返回新聞活動時,數據再次被加載... – Thiago 2011-04-20 17:45:07
我正在查看應用程序中的Lindked,他們有我想要在我的活動中實現的相同行爲。一旦進入更新活動,如果您返回儀表板再次轉到更新活動,則不會再次加載數據。 – Thiago 2011-04-20 18:09:33
嘗試刪除i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)標誌。這會導致您的NewsActivity在您按下主頁按鈕時被破壞,從而導致必須重新創建它。 – Joe 2011-04-20 18:17:48