0

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

}
4

1 回答 1

1

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

然后你可以在活动中写下类似

new DialogCreator().showDialog("title", "message", "Try again");
于 2013-08-10T22:53:56.750 回答