2017-04-25 5 views
0

Ich benutze diesen Code in einer separaten nicht Aktivitätsklasse für meine AlertDialogsAndroid Überschreibung Alertdialog onClick

class Utility { 
static void alertDialogShow(Context context, String title, String message) { 
    final AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 
    alertDialog.setTitle(title); 
    alertDialog.setMessage(message); 
    alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "OK", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.dismiss(); 
       } 
      }); 
    alertDialog.show(); 
} 

ich die onClick in einer meiner Aktivitätsklassen außer Kraft setzen will, aber ich weiß nicht, wie.

+0

Verwenden Sie die Schnittstelle zum Klicken auf Ihre Aktivität –

+0

oder Sie können benutzerdefinierte Dialogfeld verwenden –

Antwort

3

Sie können den Klicklistener an die Methode übergeben und einen anderen Listener für Ihre Activity verwenden. Sie werden zwei Methoden, eine mit der Standardversion und die andere mit dem OnClickListener anpassbar:

class Utility { 
    static void alertDialogShow(Context context, String title, String message, OnClickListener listener) { 
     final AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 
     alertDialog.setTitle(title); 
     alertDialog.setMessage(message); 
     alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "OK", listener); 
     alertDialog.show(); 
    } 

    static void alertDialogShow(Context context, String title, String message) { 
     alertDialogShow(context, title, message, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 
        } 
       }); 
    } 
} 
0

Wie wäre es DialogInterface.OnClickListener zu Methode als Parameter übergeben.

Verwandte Themen