我有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();
}
答案 0 :(得分:1)
据我所知,这不是关于Android活动的问题,这是一个关于代码重构的问题。 为什么不创建一个新类,称之为DialogCreator或DialogManager,并在其中实现对话框?
然后你可以在活动中写下像
这样的东西new DialogCreator().showDialog("title", "message", "Try again");