OneButtonDialogFragment.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package epson.print.storage;
  2. import android.app.AlertDialog;
  3. import android.app.Dialog;
  4. import android.content.DialogInterface;
  5. import android.os.Bundle;
  6. import androidx.annotation.NonNull;
  7. import androidx.annotation.Nullable;
  8. import epson.print.R;
  9. public class OneButtonDialogFragment extends DialogFragment {
  10. private static final String PARAM_DIALOG_ID = "dialog_id";
  11. private static final String PARAM_MESSAGE_RESOURCE_ID = "message_id";
  12. private String mDialogId;
  13. private int mMessageId;
  14. public interface DialogCallback {
  15. void buttonPressed(@Nullable String str);
  16. }
  17. public static OneButtonDialogFragment newInstance(int i, String str) {
  18. OneButtonDialogFragment oneButtonDialogFragment = new OneButtonDialogFragment();
  19. Bundle bundle = new Bundle();
  20. bundle.putInt(PARAM_MESSAGE_RESOURCE_ID, i);
  21. bundle.putSerializable(PARAM_DIALOG_ID, str);
  22. oneButtonDialogFragment.setArguments(bundle);
  23. return oneButtonDialogFragment;
  24. }
  25. public void onCreate(Bundle bundle) {
  26. super.onCreate(bundle);
  27. Bundle arguments = getArguments();
  28. mMessageId = arguments.getInt(PARAM_MESSAGE_RESOURCE_ID);
  29. mDialogId = arguments.getString(PARAM_DIALOG_ID);
  30. setCancelable(false);
  31. }
  32. @NonNull
  33. public Dialog onCreateDialog(Bundle bundle) {
  34. super.onCreateDialog(bundle);
  35. return new AlertDialog.Builder(getActivity()).setMessage(mMessageId).setPositiveButton(R.string.str_ok, new DialogInterface.OnClickListener() {
  36. public void onClick(DialogInterface dialogInterface, int i) {
  37. FragmentActivity activity = getActivity();
  38. if (activity != null) {
  39. ((DialogCallback) activity).buttonPressed(OneButtonDialogFragment.mDialogId);
  40. }
  41. }
  42. }).setCancelable(false).create();
  43. }
  44. }