2010-11-01 60 views
0

我需要做一個互聯網訪問來更新我的用戶界面上的字段。我通過擴展AsyncTask在後臺線程中訪問互聯網。每次更新用戶界面隨着互聯網訪問屏幕刷新

因爲我需要在每次更新我的UI畫面是我在我的onResume方法執行的AsyncTask刷新:

@覆蓋 保護無效的onResume(){ super.onResume();

showDialog(REFRESH_DIALOG); new UpdateAgentStatusTask()。execute(); }

我關閉了AsyncTask中onPostExecute()方法中的REFRESH_DIALOG對話框。

爲了測試我旋轉屏幕到風景。事情運作良好。問題是當我嘗試再次旋轉到肖像。我得到'java.lang.IllegalArgumentException:沒有顯示id爲1的對話框......'。 ID 1用於REFRESH_DIALOG。

我該如何擺脫這個錯誤?每當刷新屏幕時,是否有更好的方式可以通過互聯網訪問來更新我的用戶界面?

感謝, 人員Prasanna

回答

0

使用中的AsyncTask的onCancel()事件離開前取消您的AsyncTask。我不知道您是否必須在主要活動的onPause()事件中自己取消任務,或者如果在循環中由操作系統觸發onCancel()。