繁体   English   中英

关闭进程栏对话框后如何显示“警报”对话框?

[英]How to show Alert dialog after processbar dialog dismiss?

我想在进程栏对话框显示后显示警报对话框(单击listview以显示进程栏):这是我的代码显示进程栏对话框:

ProgressDialog barProgressDialog;
Handler updateBarHandler;

public void launchBarDialog(View view)
{
    barProgressDialog = new ProgressDialog(MainActivity.this);

    barProgressDialog.setTitle("Processing,please wait ...");
    barProgressDialog.setMessage("Cracking password in progress ...");
    barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL);
    barProgressDialog.setProgress(0);
    barProgressDialog.setMax(10);
    barProgressDialog.show();

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {

                // Here you should write your time consuming task...
                while (barProgressDialog.getProgress() <= barProgressDialog.getMax()) {

                    Thread.sleep(1000);

                    updateBarHandler.post(new Runnable() {

                        public void run() {

                            barProgressDialog.incrementProgressBy(2);
                          }
                      });
                    if (barProgressDialog.getProgress() == barProgressDialog.getMax()) {
                        barProgressDialog.dismiss();


                    }
                }
            } catch (Exception e) {
            }
        }
    }).start();




}

请发布示例代码。 非常感谢你!!!

您需要在方法setOnDismissListener(DialogInterface.OnDismissListener listener):AlertDialog上实现DialogInterface.OnDismissListener接口 它将帮助您完成所需的工作。 下面的代码将帮助您完成所需的工作。

ProgressDialog barProgressDialog;
Handler updateBarHandler;

public void launchBarDialog(View view) {
    updateBarHandler = new Handler();
    barProgressDialog = new ProgressDialog(MainActivity.this);
    barProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {

        @Override
        public void onDismiss(DialogInterface dialog) {
            //Put your AlertDialog Here ....
            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
            alert.setMessage("This Alert Dialog will be show after the ProgressDialog dismissed");
            alert.show();

        }
    });
    barProgressDialog.setTitle("Processing,please wait ...");
    barProgressDialog.setMessage("Cracking password in progress ...");
    barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL);
    barProgressDialog.setProgress(0);
    barProgressDialog.setMax(10);
    barProgressDialog.show();

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                // Here you should write your time consuming task...
                while (barProgressDialog.getProgress() <= barProgressDialog
                        .getMax()) {

                    Thread.sleep(1000);
                    updateBarHandler.post(new Runnable() {
                        public void run() {
                            barProgressDialog.incrementProgressBy(2);

                            if (barProgressDialog.getProgress() == barProgressDialog
                                    .getMax()) {
                                barProgressDialog.dismiss();
                            }
                        }
                    });
                }
            } catch (Exception e) {
                Log.e("thiago", "error when trying to run the Thread==>"+e.getMessage());
            }
        }
    }).start();
}

我希望代码可以帮助您解决问题。 :)

您只需要放置

updateBarHandler = new Handler();

这是您需要的完整示例:

http://turboprogramacion.blogspot.cl

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM