进度对话框不会显示

时间:2016-11-12 22:54:28

标签: android

我希望通过按下按钮显示进度对话框并在功能完成时将其关闭。我的代码在下面,虽然很容易因为一个未知的原因而无法运行。

final Button button = (Button) findViewById(R.id.syncBtn);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            progressDialog.setCancelable(false);
            progressDialog.setTitle("Please Wait..");
            progressDialog.setMessage("Preparing to download ...");
            progressDialog.show();

            bringData();

            progressDialog.dismiss();
        }
    });

1 个答案:

答案 0 :(得分:1)

我可以想到为什么它不适合你的两种可能性:

  1. 方法" bringData()"在ui线程上执行。所以ui线程正在做工作(执行bringData)并且不会重绘ui。然后你关闭对话框,似乎对话框没有显示。

  2. 在方法" bringData()"中,您启动后台线程。在这种情况下,您将显示对话框并直接将其解除。

  3. 由于您正在使用评论中提到的排球,因此您必须在GET请求完成后关闭该对话框。因此,您已在回调方法中关闭该对话框。