我使用AsyncTask从RSS中检索数据,我在onpreExecute方法中显示进度对话框,在DoInbackground方法中解析数据,,和删除对话框,,显示数据在onPostExecute方法中,每件事都没问题。但是我想处理后退按钮,所以如果用户在解析数据时单击后退按钮,他可以回去......但是直到现在如果我按下后什么都没发生.. :/
@Override
protected void onPreExecute() {
showDialog(DIALOG_PROGRESS);
}
@Override
protected Boolean doInBackground(Void... params) {
feedParser = new activity1Parser(Bean.LINK);
try {
list = feedParser.parse();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
protected void onPostExecute(Boolean result) {
activity1.removeDialog(DIALOG_PROGRESS);
}
答案 0 :(得分:2)
当您创建对话框(在onCreateDialog
中)时,将其取消,并使用侦听器调用setOnCancelListener
,该侦听器会通知您的任务已删除该对话框。然后在onPostExecute
中,仅在尚未删除对话框时删除该对话框。