2017-04-25 13 views
0

私は私が私の活動のクラスのいずれかでのonClickを上書きしたいが、私は方法がわからないAndroidのオーバーライド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(); 
} 

私AlertDialogsのために別々の非アクティビティクラスでこのコードを使用しています。

+0

アクティビティをクリックするためのインターフェイスを使用 –

+0

またはカスタムダイアログを使用できます –

答えて

3

クリックリスナーをメソッドに渡し、Activityに別のリスナーを使用できます。パラメータとしてメソッドにDialogInterface.OnClickListenerを渡すことについて

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

方法:次の2つの方法で、カスタマイズ可能なOnClickListenerとデフォルトのバージョンを持つ1と他のを持っています。

関連する問題