public override void ActionSheet(ActionSheetConfig config) { var array = config .Options .Select(x => x.Text) .ToArray(); var dlg = new AlertDialog .Builder(this.GetTopActivity()) .SetCancelable(false) .SetTitle(config.Title); dlg.SetItems(array, (s, args) => config.Options[args.Which].Action?.Invoke()); if (config.Destructive != null) dlg.SetNegativeButton(config.Destructive.Text, (s, a) => config.Destructive.Action?.Invoke()); if (config.Cancel != null) dlg.SetNeutralButton(config.Cancel.Text, (s, a) => config.Cancel.Action?.Invoke()); Utils.RequestMainThread(() => dlg.ShowExt()); }