SimpleMessageDialogFragment.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.epson.mobilephone.common.license;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.app.Dialog;
  5. import android.content.DialogInterface;
  6. import android.os.Bundle;
  7. import androidx.annotation.NonNull;
  8. import androidx.fragment.app.DialogFragment;
  9. import epson.print.R;
  10. /**
  11. * 自定义对话框
  12. */
  13. public class SimpleMessageDialogFragment extends DialogFragment {
  14. private static final String PARAM_DIALOG_ID = "dialog_id";
  15. private static final String PARAM_MESSAGE_STRING = "message_string";
  16. private DialogCallback mDialogCallback;
  17. private int mDialogId;
  18. private String mMessageString;
  19. interface DialogCallback {
  20. void onButtonClicked(int i);
  21. }
  22. /**
  23. * 实例化一个单确认按钮的对话框
  24. *
  25. * @param str 显示字符串
  26. * @param i 对话框id
  27. * @return
  28. */
  29. @NonNull
  30. public static SimpleMessageDialogFragment newInstance(String str, int i) {
  31. SimpleMessageDialogFragment simpleMessageDialogFragment = new SimpleMessageDialogFragment();
  32. Bundle bundle = new Bundle();
  33. bundle.putInt(PARAM_DIALOG_ID, i);
  34. bundle.putString(PARAM_MESSAGE_STRING, str);
  35. simpleMessageDialogFragment.setArguments(bundle);
  36. return simpleMessageDialogFragment;
  37. }
  38. public void onCreate(Bundle bundle) {
  39. super.onCreate(bundle);
  40. Bundle arguments = getArguments();
  41. mDialogId = arguments.getInt(PARAM_DIALOG_ID);
  42. mMessageString = arguments.getString(PARAM_MESSAGE_STRING);
  43. }
  44. @NonNull
  45. @Override
  46. public Dialog onCreateDialog(Bundle bundle) {
  47. super.onCreateDialog(bundle);
  48. AlertDialog create = new AlertDialog.Builder(getActivity()).setMessage(mMessageString).setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
  49. public void onClick(DialogInterface dialogInterface, int i) {
  50. onOkClicked();
  51. }
  52. }).create();
  53. setCancelable(false);
  54. return create;
  55. }
  56. /**
  57. * 对话框点击事件
  58. */
  59. private void onOkClicked() {
  60. mDialogCallback.onButtonClicked(mDialogId);
  61. }
  62. public void onAttach(Activity activity) {
  63. super.onAttach(activity);
  64. try {
  65. mDialogCallback = (DialogCallback) activity;
  66. } catch (ClassCastException unused) {
  67. throw new ClassCastException(activity.toString() + " must implement DialogCallback");
  68. }
  69. }
  70. public void onDetach() {
  71. super.onDetach();
  72. mDialogCallback = null;
  73. }
  74. }