Skip to content

Instantly share code, notes, and snippets.

@glnix
Created August 18, 2016 18:56
Show Gist options
  • Save glnix/b4aed7e905dbd7dd901c8acd74e2085a to your computer and use it in GitHub Desktop.
Save glnix/b4aed7e905dbd7dd901c8acd74e2085a to your computer and use it in GitHub Desktop.
YesNoDialog
package ru.goryachev.testjobkassa.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
public class YesNoDialog extends DialogFragment {
NoticeDialogListener mListener;
public interface NoticeDialogListener {
void onDialogPositiveClick(DialogFragment dialogFragment);
void onDialogNegativeClick(DialogFragment dialogFragment);
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(getArguments().getString("Message", ""))
.setTitle(getArguments().getString("Title", ""))
.setCancelable(false)
.setPositiveButton("Да", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onDialogPositiveClick(YesNoDialog.this);
}
})
.setNegativeButton("Нет", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mListener.onDialogNegativeClick(YesNoDialog.this);
}
});
return builder.create();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (NoticeDialogListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement NoticeDialogListener");
}
}
public static YesNoDialog newInstance(@Nullable String title, @NonNull String msg) {
YesNoDialog dialog = new YesNoDialog();
Bundle args = new Bundle();
args.putString("Title", title);
args.putString("Message", msg);
dialog.setArguments(args);
return dialog;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment