Java tutorial
/* * Numenta Platform for Intelligent Computing (NuPIC) * Copyright (C) 2015, Numenta, Inc. Unless you have purchased from * Numenta, Inc. a separate commercial license for this software code, the * following terms and conditions apply: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero Public License version 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero Public License for more details. * * You should have received a copy of the GNU Affero Public License * along with this program. If not, see http://www.gnu.org/licenses. * * http://numenta.org/licenses/ * */ package com.groksolutions.grok.mobile.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; public class ConfirmDialogFragment extends DialogFragment { public static ConfirmDialogFragment newInstance(String message, String positiveText, String negativeText) { ConfirmDialogFragment dialog = new ConfirmDialogFragment(); Bundle args = new Bundle(); args.putString("message", message); args.putString("positiveText", positiveText); args.putString("negativeText", negativeText); dialog.setArguments(args); return dialog; } public interface ConfirmDialogListener { public void onDialogPositiveClick(DialogFragment dialog); public void onDialogNegativeClick(DialogFragment dialog); } ConfirmDialogListener listener; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { listener = (ConfirmDialogListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement ConfirmDialogListener"); } } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Bundle args = getArguments(); String message = args.getString("message"); String positiveText = args.getString("positiveText"); String negativeText = args.getString("negativeText"); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(message).setPositiveButton(positiveText, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { listener.onDialogPositiveClick(ConfirmDialogFragment.this); } }).setNegativeButton(negativeText, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { listener.onDialogNegativeClick(ConfirmDialogFragment.this); } }); return builder.create(); } }