AlertDialog
2つの
AlertDialog
オブジェクトがあります。
DialogInterface.OnClickListenerを使用して単一のダイアログを区別する
AlertDialog dialog1, dialog2;
両方のダイアログはAlertDialog.Builder
で作成されます。
どのダイアログがDialogInterface.OnClickListener
のイベントのソースであるかをどのように認識できますか?
単一のダイアログでこれを行うことができます:
AlertDialogInstance.setOnClickListener(myListener);
//myListener
public void onClick(DialogInterface arg0, int arg1) {
switch (arg1) {
case AlertDialog.BUTTON_NEGATIVE:
// do something
break;
case AlertDialog.BUTTON_POSITIVE:
// do something
break;
case AlertDialog.BUTTON_NEUTRAL:
// do something
break;
}
}
このswitch
ロジックを変更して複数のダイアログを処理する方法は?
(または、インラインボタンコールバック以外の、ダイアログを処理するシステムがあれば、それは何ですか?)
オブジェクトの比較は、整数の比較よりも悪いです。 – QuickNick
これは最悪の考えです。また、DialogFragmentsを使用すると、そこにAlertDialogを作成し、あなたのアクティビティ(onClick()がある場所)にフィールドとして保持する必要はありません。 – pjv