Beispiel #1
0
        void OnCollectionChanged(object?sender, EventArgs e)
        {
            if (VirtualView == null || TypedNativeView == null)
            {
                return;
            }

            TypedNativeView.UpdatePicker(VirtualView);
        }
        void OnClick(object?sender, EventArgs e)
        {
            if (_dialog == null && VirtualView != null)
            {
                using (var builder = new AlertDialog.Builder(Context))
                {
                    builder.SetTitle(VirtualView.Title ?? string.Empty);

                    string[] items = VirtualView.Items.ToArray();

                    builder.SetItems(items, (s, e) =>
                    {
                        var selectedIndex         = e.Which;
                        VirtualView.SelectedIndex = selectedIndex;
                        TypedNativeView?.UpdatePicker(VirtualView);
                    });

                    builder.SetNegativeButton(AResource.String.Cancel, (o, args) => { });

                    _dialog = builder.Create();
                }

                if (_dialog == null)
                {
                    return;
                }

                _dialog.SetCanceledOnTouchOutside(true);

                _dialog.DismissEvent += (sender, args) =>
                {
                    _dialog.Dispose();
                    _dialog = null;
                };

                _dialog.Show();
            }
        }