2010-11-01 33 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()。