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

时间:2013-08-10 22:08:38

标签: android android-activity android-alertdialog

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

}

1 个答案:

答案 0 :(得分:1)

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

然后你可以在活动中写下像

这样的东西
new DialogCreator().showDialog("title", "message", "Try again");