android - 警报对话框 android studio

标签 android android-alertdialog

我正在尝试显示一个包含加载动画的警报对话框。单击最初显示的另一个警报对话框后,需要显示警报对话框。基本上,第一个对话框包含一个 setPositive 和 setNegative 按钮。 setPositive 事件会触发一个需要几秒钟的过程。我希望在进程开始时出现包含加载动画的第二个对话框。在显示加载对话框的过程完成之前,我无法关闭第一个对话框。

//dialog that contains loading animation
    public class LoadingBox {
    Activity myActivity;
    AlertDialog dialog;

    LoadingBox(Activity activity){
        myActivity = activity;
    }
     void startLoadingDialog(){
        AlertDialog.Builder builder = new AlertDialog.Builder(myActivity);
        LayoutInflater inflater = myActivity.getLayoutInflater();
        builder.setView(inflater.inflate(R.layout.layout_dialog,null));
        builder.setCancelable(true);
        dialog = builder.create();
        dialog.show();
    }
    void dismissDialog(){
        dialog.dismiss();
    }
}

 

      
     new AlertDialog.Builder(SmsListActivity.this)
    
                            .setIcon(android.R.drawable.ic_dialog_alert)
                            .setTitle("Add To Transaction List")
                            .setMessage("Please note that this process might take long. Proceed?")
                            .setPositiveButton("yes", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    LoadingBox loadingBox = new LoadingBox(SmsListActivity.this);
    
                                    loadingBox.startLoadingDialog();
    
                                    addPendingToList();
                                    loadingBox.dismissDialog();
    
    
                                }
                            }).setNegativeButton("No",null).show();

最佳答案

要关闭此警报对话框,您应该在 setPositiveButton onClick 中调用 dialog.dismiss();

 new AlertDialog.Builder(SmsListActivity.this) .setIcon(android.R.drawable.ic_dialog_alert)
           .setTitle("Add To Transaction List")
           .setMessage("Please note that this process might take long. Proceed?")
           .setPositiveButton("yes", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {                    
        dialog.dismiss();
        LoadingBox loadingBox = new LoadingBox(SmsListActivity.this);
    loadingBox.startLoadingDialog();
    addPendingToList();
    loadingBox.dismissDialog();
    }
      }).setNegativeButton("No",null).show();

关于android - 警报对话框 android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71485412/

相关文章:

android - 如何通过样式将自定义字体样式/系列应用于整个应用程序中的警报对话框

android - 旧 Android API 上的 Apple 风格 AlertDialog

android - 机器人 3 : Shadow custom class

android - 如何从 Android TextView 中的自动链接中排除某些数字

android - WebRTC 中如何优雅地切换网络?

安卓应用大小

java - AlertBuilder 方法调用中的上下文参数

安卓文件创建

android - 警告对话框 Linkify 但保持文本为白色

android - 自定义 AlertDialog 列表布局