每次刷新屏幕时,使用Internet访问更新UI

时间:2010-11-01 21:45:18

标签: android

我需要通过互联网访问来更新我的UI上的字段。我通过扩展AsyncTask在后台线程中进行Internet访问。

由于我每次刷新屏幕时都需要更新UI,因此我在onResume方法中执行AsyncTask:

@覆盖 protected void onResume(){  super.onResume();

的ShowDialog(REFRESH_DIALOG);  新的UpdateAgentStatusTask()。execute(); }

我在AsyncTask中的onPostExecute()方法中忽略了REFRESH_DIALOG对话框。

为了测试我将屏幕旋转到横向。事情很顺利。问题是当我尝试再次旋转到肖像时。我得到'java.lang.IllegalArgumentException:没有显示id 1的对话框......'。 id 1代表REFRESH_DIALOG。

如何摆脱此错误?每次刷新屏幕时,是否有更好的方法来进行互联网访问以更新我的UI?

谢谢, 人员Prasanna

1 个答案:

答案 0 :(得分:0)

在使用AsyncTask中的onCancel()事件之前取消asyncTask。我不知道你是否必须在主活动的onPause()事件中自己取消任务,或者如果onCancel()在旋转期间被OS触发了。