不显示进度对话框

时间:2013-09-15 12:27:47

标签: android dialog progressdialog

我想在计算某些东西时将ProgressDialog放在我的程序上。我尝试了很多东西,但是其中任何一个都有帮助我。这是我的代码;

                dialog=ProgressDialog.show(this, "calculating", "Please wait while the calculation is getting done.",true);

                this.runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub

                changeHelp = 0;

                if(screenNumber == 1){
                    compareImages(3.3, 0.12);
                }

                else if(screenNumber==2 || screenNumber == 4){
                    compareImages(1.4, 0.1);
                }
                else if ( screenNumber == 3)
                    compareImages(0.41, 0.1);
                else
                    compareImages(3.3, 0.0676);

                dialog.dismiss();

                screenNumber++; }
        });

关于这个问题有很多问题。虽然我尝试了很多,但是我无法解决问题。我不想使用asynctask.Pls帮助我。

---- ----编辑

我在try中添加了thread.sleep(2000),但它仍然无法正常工作。我认为在使用dialog.dismiss时我做错了但是却无法找到问题所在?

1 个答案:

答案 0 :(得分:0)

我认为您的ProgressDialog已经展示了很长一段时间,因为您的任务不会持续至少第二次,但很快就会更多。

如果你想实现你的目标,更好的方法是使用AsyncTask,是的你不想使用它但是为了你的目标AsyncTask我认为你可以使用最好的方法。

但作为解决方案解决方案,方法Thread.sleep()用于模拟“将持续”更长时间的某些任务。但是你需要从backround Thread调用(以避免UI冻结)。对话的进展可以从任何类型的线程中解除。