コード例 #1
0
        private void ShowDialog()
        {
            if (dialogIsShow)
            {
                return;
            }
            dialogIsShow = true;

            /*AlertDialog.Builder builderSingle = new AlertDialog.Builder(Context);
             * String title = null;
             * builderSingle.SetTitle(title);
             *
             * ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Context, Resource.Layout.item_dialog);
             * if (objects == null)
             *  return;
             * for (int i = 0; i < objects.Count(); i++)
             *  arrayAdapter.Add(objects.ElementAt(i));
             *
             * builderSingle.SetNegativeButton("Cancelar", (s, ev) =>
             * {
             *  ((AlertDialog)s).Cancel();
             * });
             *
             * builderSingle.SetAdapter(arrayAdapter, (o, e) =>
             * {
             *  String strName = arrayAdapter.GetItem(e.Which);
             *  Text = strName;
             *  selection = e.Which;
             *  ItemChanged?.Invoke(this, e.Which);
             * });
             * builderSingle.Show();*/
            var activity = Locator.Current.GetService <Activity>() as AppCompatActivity;
            var fragment = ListEditTextDialogFragment.NewInstance();

            fragment.OnSelected += (o, item) =>
            {
                Text = item;
                var oldSelection = selection;
                selection = item;
                if (!selection.Equals(oldSelection))
                {
                    ItemChanged?.Invoke(this, item);
                }
            };
            fragment.Show(activity.SupportFragmentManager, "listedittext");
            fragment.SetObjects(objects);
            fragment.OnDismissEvent += (o, e) => dialogIsShow = false;
        }
コード例 #2
0
            public static ListEditTextDialogFragment NewInstance()
            {
                ListEditTextDialogFragment fr = new ListEditTextDialogFragment();

                return(fr);
            }