Android 如何从多个活动调用对话框

Android 如何从多个活动调用对话框,android,android-activity,android-alertdialog,Android,Android Activity,Android Alertdialog,我想在两个不同的活动中显示3个对话框。在这两个活动中显示这些对话框而不复制和粘贴代码(因为这很糟糕!)的最佳方式是什么?下面是我目前用来显示对话框的大致脚本: private void Box1(){ new AlertDialog.Builder(Splash.this) .setTitle("title") .setMessage("dialogMessage") .setPositiveButton("Enter", new Dial

我想在两个不同的活动中显示3个对话框。在这两个活动中显示这些对话框而不复制和粘贴代码(因为这很糟糕!)的最佳方式是什么?下面是我目前用来显示对话框的大致脚本:

private void Box1(){
    new AlertDialog.Builder(Splash.this)
        .setTitle("title")
        .setMessage("dialogMessage")
        .setPositiveButton("Enter", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            finish();
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            finish();
        }
    }).show();

}


private void Box2(){
    new AlertDialog.Builder(Splash.this)
    .setTitle("title")
    .setMessage("dialogMessage")
    .setPositiveButton("Enter", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
                finish();
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            finish();
        }
    }).show();

}

private void Box3(){
    new AlertDialog.Builder(Splash.this)
    .setTitle("title")
    .setMessage("message")
    .setPositiveButton("Try Again", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
                finish();
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            finish();
        }
    }).show();

}

据我所知,这不是关于Android活动的问题,而是关于代码重构的问题。 为什么不创建一个新类,称之为DialogCreator或DialogManager,并在其中实现对话框

然后你可以在活动中写下

new DialogCreator().showDialog("title", "message", "Try again");