在单击“返回”按钮时,使用AsyncTask解析数据时,删除对话框并返回上一个活动

时间:2011-12-16 18:09:09

标签: android button android-asynctask back

我使用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);

}

1 个答案:

答案 0 :(得分:2)

当您创建对话框(在onCreateDialog中)时,将其取消,并使用侦听器调用setOnCancelListener,该侦听器会通知您的任务已删除该对话框。然后在onPostExecute中,仅在尚未删除对话框时删除该对话框。