错误 无法添加窗口--令牌null不是应用程序

3
这是一个显示带有积极按钮的对话框的活动。点击按钮后,它将转到Staticdisplay活动。我正在尝试在加载活动时添加进度条。我遇到了以下错误。$BadTokenException: Unable to add window -- token null is not for an application 这是添加进度条的代码..progressBar.show();我在这一行中遇到了错误。我该如何解决这个问题?谢谢。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCustomTitle(title);

        builder.setMessage(R.string.app_description).setPositiveButton(
                "Ok", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        if (Registration.isRunning == false) {
                            startService(new Intent(
                                    getApplicationContext(),
                                    Registration.class));
                        }
                        staticInfo();
                        if (Registration.ruid == null)
                            Registration.ruid = uId;
                        progressBar = new ProgressDialog(
                                getApplicationContext());
                        progressBar.setCancelable(true);
                        progressBar.setMessage("Loading Activity...");
                        progressBar
                                .setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                        progressBar.setProgress(0);
                        progressBar.setMax(100);
                        progressBar.show();
                        progressBarStatus = 0;

                        new Thread(new Runnable() {
                            public void run() {
                                while (progressBarStatus < 100) {

                                    progressBarStatus = 100;

                                    progressBarHandler.post(new Runnable() {
                                        public void run() {
                                            progressBar
                                                    .setProgress(progressBarStatus);
                                        }
                                    });
                                }

                                if (progressBarStatus >= 100) {

                                    progressBar.dismiss();
                                    startActivity(new Intent(
                                            getApplicationContext(),
                                            StatisticDisplay.class));
                                }
                            }
                        }).start();

                    }

                });
        AlertDialog alert = builder.create();
        alert.show();
    } else {
        startActivity(new Intent(getApplicationContext(),
                StatisticDisplay.class));
    }
}
1个回答

15
progressBar = new ProgressDialog(getApplicationContext());

在getApplicationContext()的位置上,传递ur ActivityName.this或getContext()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接