Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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
Java 如何在processbar对话框关闭后显示警报对话框?_Java_Android - Fatal编程技术网

Java 如何在processbar对话框关闭后显示警报对话框?

Java 如何在processbar对话框关闭后显示警报对话框?,java,android,Java,Android,我想在processbar对话框解除后显示警报对话框(在listview上单击以显示processbar): 这是我的代码显示过程栏对话框: ProgressDialog barProgressDialog; Handler updateBarHandler; public void launchBarDialog(View view) { barProgressDialog = new ProgressDialog(MainActivity.this); barProgre

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

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();




}
ProgressDialog barProgressDialog;
处理程序updateBarHandler;
公共void启动对话框(视图)
{
barProgressDialog=新建ProgressDialog(MainActivity.this);
setTitle(“正在处理,请稍候…”);
setMessage(“正在破解密码…”);
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_水平);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
//在这里你应该写下你耗时的任务。。。

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

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();
}
ProgressDialog barProgressDialog;
处理程序updateBarHandler;
公共void启动对话框(视图){
updateBarHandler=新处理程序();
barProgressDialog=新建ProgressDialog(MainActivity.this);
barProgressDialog.setOnDismissListener(新的DialogInterface.OnDismissListener(){
@凌驾
公共void onDismiss(对话框接口对话框){
//将您的AlertDialog放在这里。。。。
AlertDialog.Builder alert=新建AlertDialog.Builder(MainActivity.this);
alert.setMessage(“此警报对话框将在ProgressDialog解除后显示”);
alert.show();
}
});
setTitle(“正在处理,请稍候…”);
setMessage(“正在破解密码…”);
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_水平);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
//在这里你应该写下你耗时的任务。。。
而(barProgressDialog.getProgress()只需放置

updateBarHandler = new Handler();
以下是您需要的完整示例:


u应该使用线程时间,这取决于u…10000等秒。您可以执行与progressbar增量类似的操作。创建一个新的处理程序,在调用时可以创建警报。在关闭progressbar后立即调用此处理程序。请给我一个示例!感谢您使用监听器,这是我认为使用监听器最干净的方式,请给出更多的细节,代码。谢谢你是的,这是最好的答案,我做到了。非常感谢你