Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓冻结进程Dialiog_Android_Progressdialog_Loader - Fatal编程技术网

Android 安卓冻结进程Dialiog

Android 安卓冻结进程Dialiog,android,progressdialog,loader,Android,Progressdialog,Loader,我想在加载新活动时添加进度对话框。几乎一切都好,除了那件事 我的代码: public class MyTask extends AsyncTask<String, String, String> { private Context context; private ProgressDialog progressDialog; public MyTask(Context context) { this.context = context;

我想在加载新活动时添加进度对话框。几乎一切都好,除了那件事

我的代码:

public class MyTask extends AsyncTask<String, String, String> {
    private Context context;
    private ProgressDialog progressDialog;

    public MyTask(Context context) {
        this.context = context;
    }

    @Override
    protected void onPreExecute() {
        progressDialog = new ProgressDialog(context);
        progressDialog.show();
    }

    @Override
    protected String doInBackground(String... params) {
        // Do your loading here
        return "finish";
    }

    @Override
    protected void onPostExecute(String result) {

        Intent editIntent = new Intent(
                "com.project.simplify.StartedReviewsEditActivity");
        editIntent.putExtra(EXTRA_OBJECT_ID, id);
        editIntent.putExtra("user", user);
        editIntent.putExtra("link", realLink);
        //review.putExtra("link", realLink);
        startActivity(editIntent);
        finish();
        progressDialog.dismiss();
    }
}
移动

除此之外

Intent editIntent = new Intent(
                "com.project.simplify.StartedReviewsEditActivity");
        editIntent.putExtra(EXTRA_OBJECT_ID, id);
        editIntent.putExtra("user", user);
        editIntent.putExtra("link", realLink);
        //review.putExtra("link", realLink);
        startActivity(editIntent);
        finish();
就是这样,

progressDialog.dismiss();
Intent editIntent = new Intent(
                "com.project.simplify.StartedReviewsEditActivity");
        editIntent.putExtra(EXTRA_OBJECT_ID, id);
        editIntent.putExtra("user", user);
        editIntent.putExtra("link", realLink);
        //review.putExtra("link", realLink);
        startActivity(editIntent);
        finish();
因为您首先完成活动,而没有首先关闭导致冻结的progressdialog。
希望能有帮助。干杯

对于冻结,您的确切意思是什么?如果您没有在
doInBackground()
中执行任何操作,那么为什么要使用
AsyncTask
?另外,您的
意图
声明似乎是错误的。Alberto-加载动画停止我的目标是在开始新活动之前显示加载对话框,因此我发现不需要使用AsyncTask。也许你知道其他的方法吗?意图有什么问题吗?添加了,但它仍然冻结如果您想显示/冻结ProgressDialog的动画,请尝试添加类似Thread.sleep(2000)的内容;在您的doInBackground方法中返回“finish”;加载新活动需要一些时间,所以我只想在开始新活动之前显示加载动画;在调用progressDialog.Disclose()之前;
Intent editIntent = new Intent(
                "com.project.simplify.StartedReviewsEditActivity");
        editIntent.putExtra(EXTRA_OBJECT_ID, id);
        editIntent.putExtra("user", user);
        editIntent.putExtra("link", realLink);
        //review.putExtra("link", realLink);
        startActivity(editIntent);
        finish();
progressDialog.dismiss();
Intent editIntent = new Intent(
                "com.project.simplify.StartedReviewsEditActivity");
        editIntent.putExtra(EXTRA_OBJECT_ID, id);
        editIntent.putExtra("user", user);
        editIntent.putExtra("link", realLink);
        //review.putExtra("link", realLink);
        startActivity(editIntent);
        finish();