|
|
@@ -9,13 +9,33 @@ public class AlertPrompt {
|
|
|
protected final AlertDialog.Builder fAlertBuilder;
|
|
|
protected android.app.AlertDialog fDialog;
|
|
|
protected View fView = null;
|
|
|
+ protected final DismissListener fOnDismiss;
|
|
|
|
|
|
public interface OnClickListener {
|
|
|
void onClick(DialogInterface dialogInterface, View view);
|
|
|
}
|
|
|
|
|
|
+ private class DismissListener implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
|
|
|
+ private OnClickListener fListener;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(DialogInterface dialog, int which) {
|
|
|
+ fListener.onClick(dialog, fView);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCancel(DialogInterface dialog) {
|
|
|
+ fListener.onClick(dialog, fView);
|
|
|
+ }
|
|
|
+
|
|
|
+ void SetListener(OnClickListener listener) {
|
|
|
+ fListener = listener;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public AlertPrompt(Context c) {
|
|
|
fAlertBuilder = new AlertDialog.Builder(c);
|
|
|
+ fOnDismiss = new DismissListener();
|
|
|
}
|
|
|
|
|
|
public AlertPrompt setView(View v) {
|
|
|
@@ -40,12 +60,9 @@ public class AlertPrompt {
|
|
|
}
|
|
|
|
|
|
public AlertPrompt setNegativeButton(int textId, final OnClickListener listener) {
|
|
|
- fAlertBuilder.setNegativeButton(textId, new DialogInterface.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(DialogInterface dialogInterface, int i) {
|
|
|
- listener.onClick(dialogInterface, fView);
|
|
|
- }
|
|
|
- });
|
|
|
+ fOnDismiss.SetListener(listener);
|
|
|
+ fAlertBuilder.setNegativeButton(textId, fOnDismiss);
|
|
|
+ fAlertBuilder.setOnCancelListener(fOnDismiss);
|
|
|
return this;
|
|
|
}
|
|
|
|