package pk.contender.earmouse; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.DialogInterface; import android.os.Bundle; /** * Simple dialog used to confirm or abort the deletion of a selection of {@link pk.contender.earmouse.Module}. * * @author Paul Klinkenberg <pklinken.development@gmail.com> */ public class ConfirmDeleteDialog extends DialogFragment { /* The activity that creates an instance of this dialog fragment must * implement this interface in order to receive event callbacks. * Each method passes the DialogFragment in case the host needs to query it. */ public interface ConfirmDeleteDialogListener { public void onDeleteConfirm(@SuppressWarnings("UnusedParameters") DialogFragment dialog); public void onDeleteAbort(@SuppressWarnings("UnusedParameters") DialogFragment dialog); } // Use this instance of the interface to deliver action events private ConfirmDeleteDialogListener mListener; @Override public void onAttach(Activity activity) { super.onAttach(activity); // Verify that the host activity implements the callback interface try { mListener = (ConfirmDeleteDialogListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement ConfirmDeleteDialogListener"); } } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.dialog_delete); builder.setPositiveButton(R.string.dialog_deleteconfirm, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mListener.onDeleteConfirm(ConfirmDeleteDialog.this); } }); builder.setNegativeButton(R.string.dialog_deleteabort, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mListener.onDeleteAbort(ConfirmDeleteDialog.this); } }); // Create the AlertDialog object and return it return builder.create(); } }