2013-08-10 2 views
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(); 

} 

ответ

1

Насколько я understant, это не вопрос о Android деятельности, это вопрос о рефакторинга кода. Почему бы вам не создать новый класс, вызвать его DialogCreator или DialogManager и реализовать в нем диалоговые окна?

Тогда вы можете написать в деятельности что-то вроде

new DialogCreator().showDialog("title", "message", "Try again"); 
Смежные вопросы