【问题标题】:AsyncTask not working with ProgressDialog in androidAsyncTask 在 android 中不能与 ProgressDialog 一起使用
【发布时间】:2011-05-13 09:24:02
【问题描述】:

我正在使用 asynctask 和 我的异步任务代码如下

public class getSyncTaskInBackground extends AsyncTask<Void, Void, Void>{
    @Override
    protected Void doInBackground(Void... params) {
        getSynchronizeTask();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        if(progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
        displaySynchronizetask();
        super.onPostExecute(result);
    }

    @Override
    protected void onPreExecute() {
        progressDialog = ProgressDialog.show(synchronize.this, "Tasks are synchroning...", "Please wait...");
        super.onPreExecute();
    }

    @Override
    protected void onCancelled() {
        super.onCancelled();
        if(progressDialog != null && progressDialog.isShowing()) {
            progressDialog.dismiss();
        }
    }

}

这个线程需要更多时间来完成任务 所以如果我想在进程之间取消这个线程那么我写了这个按下后退按钮的代码 或者如果进度条已经关闭,那么我想通过调用 finish(); 来关闭活动 我的后退按钮代码如下

@Override
public void onBackPressed() { 
    syncThread.cancel(true); //syncThread is the object of getSyncTaskInBackground
if(progressDialog != null && progressDialog.isShowing()) {
    progressDialog.dismiss();
} else {
    finish();   
}
}

现在,当我按下返回按钮时,progressdialog 不会关闭 我的代码有什么错误吗?有什么方法可以满足我的需要吗? 请帮帮我

【问题讨论】:

    标签: android android-asynctask progressdialog


    【解决方案1】:


    你可能想打电话 setCancelable 在您的 progressDialog 实例上设置为 true : http://developer.android.com/reference/android/app/Dialog.html#setCancelable(boolean)

    如果你想要一个关于取消你的progressDialog的事件
    你可以设置一个 onCancelListener http://developer.android.com/reference/android/app/Dialog.html#setOnCancelListener(android.content.DialogInterface.OnCancelListener)

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多