protected virtual void HandleButtonClicked(MessageDisplayParams messageParams, UIAlertView alert, nint buttonIndex)
 {
     switch (buttonIndex)
     {
         case 0:
             if (messageParams.NegativeAction != null)
             {
                 messageParams.NegativeAction();
             }
             break;
         case 1:
             if (messageParams.PositiveAction != null)
             {
                 messageParams.PositiveAction();
             }
             break;
         case 2:
             if (messageParams.NeutralAction != null)
             {
                 messageParams.NeutralAction();
             }
             break;
     }
 }
        public override void DisplayMessage(MessageDisplayParams messageParams)
        {
            Android.App.AlertDialog.Builder builder = new Android.App.AlertDialog.Builder(this.context);
            builder.SetTitle(messageParams.Title);
            builder.SetMessage(messageParams.Message);

            if (messageParams.PositiveAction != null)
            {
                builder.SetPositiveButton(messageParams.PositiveLabel ?? DefaultPositiveLabel, (s, e) =>
                    {
                        messageParams.PositiveAction();
                    });
            }

            if (messageParams.NegativeAction != null)
            {
                builder.SetNegativeButton(messageParams.NegativeLabel ?? DefaultNegativeLabel, (s, e) =>
                    {
                        messageParams.NegativeAction();
                    });
            }

            if (messageParams.NeutralAction != null)
            {
                builder.SetNeutralButton(messageParams.NeutralLabel ?? string.Empty, (s, e) =>
                    {
                        messageParams.NeutralAction();
                    });
            }

            var dialog = builder.Create();
            dialog.DismissEvent += (sender, e) => {
                this.messages.Remove(messageParams);
            };

            this.messages.Add(messageParams);
            this.dialogs.Add(dialog);

            dialog.Show();
        }