Guest User

Untitled

a guest
Feb 24th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. package com.example.cain.mvvmexample;
  2.  
  3.  
  4. import android.app.AlertDialog;
  5. import android.content.DialogInterface;
  6. import android.content.Intent;
  7. import android.databinding.BindingAdapter;
  8. import android.databinding.InverseBindingAdapter;
  9. import android.databinding.InverseBindingListener;
  10. import android.support.annotation.Nullable;
  11. import android.view.View;
  12.  
  13. public class ViewBindings {
  14.  
  15. @BindingAdapter(value = {"alertTitle", "alertMessage",
  16. "alertPositiveButtonText", "alertPositiveButtonOnClick",
  17. "alertNeutralButtonText", "alertNeutralButtonOnClick",
  18. "alertNegativeButtonText", "alertNegativeButtonOnClick",
  19. "alertMessageAttrChanged"}, requireAll = false)
  20. public static void showAlertDialog(View view, @Nullable CharSequence title,
  21. @Nullable CharSequence message,
  22. CharSequence positiveButtonText,
  23. DialogInterface.OnClickListener positiveButtonOnClick,
  24. CharSequence neutralButtonText,
  25. DialogInterface.OnClickListener neutralButtonOnClick,
  26. CharSequence negativeButtonText,
  27. DialogInterface.OnClickListener negativeButtonOnClick,
  28. @Nullable InverseBindingListener inverseBindingListener) {
  29. if (message != null) {
  30. AlertDialog alertDialog = new AlertDialog.Builder(view.getContext()).create();
  31. alertDialog.setMessage(message);
  32. if (title != null) {
  33. alertDialog.setTitle(title);
  34. }
  35. if (positiveButtonOnClick != null) {
  36. alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,
  37. (positiveButtonText == null) ? view.getContext().getString(android.R.string.ok) : positiveButtonText,
  38. positiveButtonOnClick);
  39. }
  40. if (neutralButtonOnClick != null && neutralButtonText != null) {
  41. alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, neutralButtonText, neutralButtonOnClick);
  42. }
  43. if (negativeButtonOnClick != null) {
  44. alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,
  45. (negativeButtonText == null) ? view.getContext().getString(android.R.string.cancel) : negativeButtonText,
  46. negativeButtonOnClick);
  47. }
  48. if (inverseBindingListener != null) {
  49. alertDialog.setOnDismissListener(dialogInterface -> inverseBindingListener.onChange());
  50. }
  51. alertDialog.show();
  52. }
  53. }
  54.  
  55. @InverseBindingAdapter(attribute = "alertMessage")
  56. public static String getAlertMessage(View view) {
  57. return null; // clear message
  58. }
  59.  
  60. }
Add Comment
Please, Sign In to add comment