protected void AttachButtonStringList(object ob, int id, String property, List <String> options, string format) { PropertyInfo pi = ob.GetType().GetProperty(property); Button t = FindViewById <Button>(id); String text = (string)pi.GetGetMethod().Invoke(ob, new object[] {}); t.Text = String.Format(format, text); t.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetTitle(property); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( this, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string val = arrayAdapter.GetItem(ev.Which); t.Text = String.Format(format, val); pi.GetSetMethod().Invoke(ob, new object[] { val }); }); builderSingle.Show(); }; }
protected override void OnPrepareDialogBuilder(AlertDialog.Builder builder) { _populatorTask.Wait(); base.OnPrepareDialogBuilder(builder); var iconListPreferenceAdapter = new IconListPreferenceScreenAdapter(this, Context); String selectedValue = PreferenceManager.GetDefaultSharedPreferences(Context).GetString(Key, ""); for (int i = 0; i < IconSets.Count; i++) { if (selectedValue == IconSets[i].PackageName) { selectedEntry = i; break; } } builder.SetAdapter(iconListPreferenceAdapter, (sender, args) => { }); builder.SetNeutralButton(Resource.String.IconSet_install, (sender, args) => { Util.GotoUrl(Context, "market://search?q=keepass2android icon set"); }); }
public static void AttachSimpleStringPopover(String title, View t, List <String> options, ActionClickedDelegate callback) { t.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(t.Context); builderSingle.SetTitle(title); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>(t.Context, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string val = arrayAdapter.GetItem(ev.Which); t.Tag = val; if (callback != null) { callback(t, ev.Which, val); } }); builderSingle.Show(); }; }
protected void AttachButtonIntStringList(object ob, int id, String property, List <Tuple <int, string> > options) { PropertyInfo pi = ob.GetType().GetProperty(property); Button t = FindViewById <Button>(id); int val = (int)pi.GetGetMethod().Invoke(ob, new object[] {}); t.Text = options.Find(a => a.Item1 == val).Item2; t.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetTitle(property); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( this, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(new List <string>(from x in options select x.Item2)); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string item = arrayAdapter.GetItem(ev.Which); t.Text = item; pi.GetSetMethod().Invoke(ob, new object[] { options.Find(a => a.Item2 == item).Item1 }); }); builderSingle.Show(); }; }
public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { if (keyCode == Keycode.Back) { if (PreferenceManager.GetDefaultSharedPreferences(this).GetBoolean("UseGPS", true)) { StartService(new Intent("ru.nwdgroup.geolocationservice")); Requests.SetMode(UserInfo.UserId, "1"); Finish( ); } else { StopService(new Intent("ru.nwdgroup.geolocationservice")); var dialog = new AlertDialog.Builder(this); dialog.SetTitle(Resource.String.ChooseArea); dialog.SetCancelable(true); dialog.SetAdapter(UserInfo.AreasArrayAdapter, (sender, args) => ThreadPool.QueueUserWorkItem(o => { Requests.SetArea(UserInfo.UserId, UserInfo.AreasId [args.Which]); Requests.SetMode(UserInfo.UserId, "2"); RunOnUiThread(Finish); })); dialog.Show( ); } return(true); } return(base.OnKeyDown(keyCode, e)); }
public static void AttachButtonStringList(this Button t, object ob, String property, IEnumerable <String> options, string format = "{0}") { PropertyInfo pi = ob.GetType().GetProperty(property); String text = (string)pi.GetGetMethod().Invoke(ob, new object[] { }); t.Text = String.Format(format, text); t.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(t.Context); builderSingle.SetTitle(property); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( t.Context, Android.Resource.Layout.SelectDialogSingleChoice); arrayAdapter.AddAll(new List <string>(options)); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string val = arrayAdapter.GetItem(ev.Which); t.Text = String.Format(format, val); pi.GetSetMethod().Invoke(ob, new object[] { val }); }); builderSingle.Show(); }; }
public void ShowSimpleListDialog(List <string> items) { AlertDialog.Builder builderSingle = new AlertDialog.Builder(context); simplelist = new ArrayAdapter <string>(context, Android.Resource.Layout.SelectDialogSingleChoice, items); builderSingle.SetNeutralButton(CancelButtonText, new EventHandler <DialogClickEventArgs>(ListCancel)); builderSingle.SetAdapter(simplelist, new EventHandler <DialogClickEventArgs>(DialogListItemSelected)); builderSingle.SetTitle(Title); builderSingle.Show(); }
public MyListDialog(Context context, AlertDialog.Builder builder, EventHandler <DialogClickEventArgs> clickHandler) { mItemMap = new Dictionary <string, string> (); mAdapter = new ArrayAdapter <string>(context, Android.Resource.Layout.SelectDialogSingleChoice); // Create dialog from builder builder.SetAdapter(mAdapter, clickHandler); mDialog = builder.Create(); }
private void AddAttack(bool melee, bool ranged, bool natural) { var weapons = from w in Weapon.Weapons.Values where TypeFilter(w, melee, ranged, natural) orderby w.Name select w.Name; AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetTitle("Add Attack"); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( this, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(new List <string>(weapons)); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string name = arrayAdapter.GetItem(ev.Which); Weapon wp = Weapon.Weapons[name]; WeaponItem item = new WeaponItem(wp); if (melee) { _Attacks.MeleeWeaponSets[visibleGroup].Add(item); BuildMeleeGroup(); } else if (ranged) { _Attacks.RangedWeapons.Add(item); BuildRanged(); } else if (natural) { if (item != null) { bool bAdded = false; foreach (WeaponItem wi in _Attacks.NaturalAttacks) { if (String.Compare(wi.Name, item.Name, true) == 0) { wi.Count++; bAdded = true; break; } } if (!bAdded) { _Attacks.NaturalAttacks.Add(item); } } BuildNatural(); } }); builderSingle.Show(); }
public override void SelectCategory() { AlertDialog.Builder builderSingle = new AlertDialog.Builder(this.Activity); builderSingle.SetTitle("Select Category"); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( this.Activity, Android.Resource.Layout.SelectDialogSingleChoice); arrayAdapter.AddAll(categories.Categories); builderSingle.SetAdapter(arrayAdapter, this.ItemClicked); builderSingle.Show(); }
private void ShowSetAreaDialog( ) { var dialog = new AlertDialog.Builder(this); dialog.SetTitle(Resource.String.ChooseArea); dialog.SetCancelable(true); dialog.SetAdapter(UserInfo.AreasArrayAdapter, (sender, args) => ThreadPool.QueueUserWorkItem(o => { Requests.SetArea(UserInfo.UserId, UserInfo.AreasId [args.Which]); PreferenceManager.GetDefaultSharedPreferences(this).Edit( ).PutBoolean("UseGPS", false).Commit( ); Requests.SetMode(UserInfo.UserId, "2"); StopService(new Intent("ru.nwdgroup.geolocationservice")); })); dialog.Show( ); }
private void OnItemClick(object sender, List <string> playerdetails) { var playerdetail = new AlertDialog.Builder(this.Activity); playerdetail.SetTitle(playerdetails[0]); playerdetails.RemoveAt(0); ArrayAdapter adapter = new ArrayAdapter(this.Activity, Android.Resource.Layout.SimpleListItem1, playerdetails); playerdetail.SetAdapter(adapter, delegate { }); playerdetail.SetPositiveButton("Ok", (senderAlert, args) => { playerdetail.Dispose(); }); playerdetail.Show(); }
protected override void OnPrepareDialogBuilder(AlertDialog.Builder builder) { _populatorTask.Wait(); base.OnPrepareDialogBuilder(builder); var adapter = new DisabledQueryPreferenceScreenAdapter(this, Context); builder.SetAdapter(adapter, (sender, args) => { }); builder.SetPositiveButton(Android.Resource.String.Ok, (sender, args) => { List <string> newList = adapter.DisabledQueriesValues.Where(kvp => kvp.Value).Select(kvp => kvp.Key).ToList(); var prefs = PreferenceManager.GetDefaultSharedPreferences(this.Context); prefs.Edit().PutStringSet("AutoFillDisabledQueries", newList).Commit(); }); }
public static void AttachButtonStringPopover(String title, View t, List <String> options, string format, int startIndex, ActionClickedDelegate callback) { String text = ""; if (startIndex >= 0) { t.Tag = options[startIndex]; } if (t.Tag != null) { text = t.Tag.ToString(); } if (t is TextView) { TextView tv = (TextView)t; tv.Text = String.Format(format, text); } t.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(t.Context); builderSingle.SetTitle(title); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>(t.Context, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string val = arrayAdapter.GetItem(ev.Which); if (t is TextView) { TextView tv = (TextView)t; tv.Text = String.Format(format, val); } t.Tag = val; if (callback != null) { callback(t, ev.Which, val); } }); builderSingle.Show(); }; }
public static void Show(Activity owner, string title, string[] items, EventHandler <DialogClickEventArgs> onItemSelected) { if (onItemSelected == null) { onItemSelected = (s, e) => { }; } var dialog = new AlertDialog.Builder(owner); var adapter = new ArrayAdapter <string>(owner, Android.Resource.Layout.SelectDialogItem, items); dialog.SetTitle(title); owner.RunOnUiThread(() => { dialog.SetAdapter(adapter, onItemSelected); dialog.Show(); }); }
private void OnListUsers(object sender, EventArgs eventArgs) { var builder = new AlertDialog.Builder(this); builder.SetTitle("Users"); ArrayAdapter <string> UsersAdapter = new ArrayAdapter <string>(ApplicationContext, Android.Resource.Layout.SimpleListItem1); UsersAdapter.AddAll(Users); builder.SetAdapter(UsersAdapter, (s, e) => { SelectedUser = Users[e.Which]; tvMessageTo.Text = "To: " + SelectedUser.ToString(); Log.Debug(Constants.TAG, SelectedUser.ToString()); }); var dialog = builder.Create(); dialog.Show(); }
private void OnListRegions(object sender, EventArgs eventArgs) { var builder = new AlertDialog.Builder(this); builder.SetTitle("Regions"); ArrayAdapter <string> RegionsAdapter = new ArrayAdapter <string>(ApplicationContext, Android.Resource.Layout.SimpleListItem1); RegionsAdapter.AddAll(Regions); builder.SetAdapter(RegionsAdapter, (s, e) => { SelectedRegion = Regions[e.Which]; tvRegion.Text = "From: " + SelectedRegion.RegionName; Log.Debug(Constants.TAG, SelectedRegion.ToString()); }); var dialog = builder.Create(); dialog.Show(); }
private void BonusClicked(Button b, WeaponItem atk) { AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetTitle("Magic Bonus"); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( this, Android.Resource.Layout.SelectDialogSingleChoice); List <String> options = new List <string>(); options.Add(((int)0).PlusFormat()); options.Add("mwk"); for (int i = 1; i < 11; i++) { options.Add(i.PlusFormat()); } arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { if (ev.Which == 0) { atk.MagicBonus = 0; atk.Masterwork = false; } else if (ev.Which == 1) { atk.MagicBonus = 0; atk.Masterwork = true; } else { atk.MagicBonus = ev.Which - 1; atk.Masterwork = false; } SetBonusText(b, atk); }); builderSingle.Show(); }
public static void ShowListPopover(View v, String title, List <String> options, ListPopoverResponseHandler handler) { AlertDialog.Builder builderSingle = new AlertDialog.Builder(v.Context); builderSingle.SetTitle(title); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>( v.Context, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { string val = arrayAdapter.GetItem(ev.Which); handler?.Invoke(ev.Which); }); builderSingle.Show(); }
private void OnListRegions(object sender, EventArgs eventArgs) { var builder = new AlertDialog.Builder(this); builder.SetTitle("Regions"); ArrayAdapter <string> RegionsAdapter = new ArrayAdapter <string>(ApplicationContext, Android.Resource.Layout.SimpleListItem1); RegionsAdapter.AddAll(Regions); builder.SetAdapter(RegionsAdapter, (s, e) => { SelectedRegionId = Regions[e.Which].RegionId; tvRegion.Text = "From: " + Regions[e.Which].RegionName; Log.Debug(Constants.TAG, Regions[e.Which].RegionName); }); var dialog = builder.Create(); dialog.Show(); //dialog.Window.SetBackgroundDrawableResource(Resource.Color.background_material_dark); }
protected override void OnPrepareDialogBuilder(AlertDialog.Builder builder) { if (builder == null) { throw new System.NullReferenceException("Builder is null"); } string[] entries = GetEntries(); string[] entryValues = GetEntryValues(); if (entries == null || entryValues == null || entries.Length != entryValues.Length) { throw new System.InvalidOperationException("Invalid entries array or entryValues array"); } ArrayAdapter <string> adapter = new ListPreferenceAdapter(mContext, global::Android.Resource.Layout.SelectDialogSingleChoice, entries); builder.SetAdapter(adapter, this); base.OnPrepareDialogBuilder(builder); }
private void ShowAccountPicker(string authTokenType, bool invalidate) { mInvalidate = invalidate; tokenType = authTokenType; availableAccounts = mAccountManager.GetAccountsByType(AccountGeneral.ACCOUNT_TYPE); if (availableAccounts.Length == 0) { Toast.MakeText(this, "No accounts", ToastLength.Short).Show(); } else { List <string> name = new List <string>(); foreach (var acc in availableAccounts) { name.Add(acc.Name); } var arrAdapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, name); // Account picker var mAlertDialogBuilder = new AlertDialog.Builder(this); mAlertDialogBuilder.SetTitle("Pick Account"); mAlertDialogBuilder.SetNegativeButton("Cancel", delegate { }); mAlertDialogBuilder.SetAdapter(arrAdapter, new EventHandler <DialogClickEventArgs>((sender, args) => { if (invalidate) { InvalidateAuthToken(availableAccounts.ElementAt(args.Which), authTokenType); } else { GetExistingAccountAuthToken(availableAccounts.ElementAt(args.Which), tokenType); } })); mAlertDialogBuilder.Create().Show(); } }
private void UpdateConditions(View v, Character c, ViewGroup parent) { LinearLayout conditionsLayout = v.FindViewById <LinearLayout>(Resource.Id.conditionsLayout); conditionsLayout.RemoveAllViews(); List <string> options = new List <string>() { "Add 5 Turns", "Add Turn", "Remove Turn", "Remove 5 Turns", "Delete", "Delete From All Characters" }; foreach (ActiveCondition ac in c.Monster.ActiveConditions) { int resID = v.Context.Resources.GetIdentifier(ac.Condition.Image.Replace("-", "").ToLower() + "16", "drawable", v.Context.PackageName); Drawable d = ContextCompat.GetDrawable(v.Context, resID); View button; LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, 60); if (ac.Turns == null) { ImageButton b = new ImageButton(v.Context); b.SetImageDrawable(d); b.LayoutParameters = lp; conditionsLayout.AddView(b); button = b; } else { Button b = new Button(v.Context); b.Text = ac.Turns.ToString(); b.SetCompoundDrawablesWithIntrinsicBounds(d, null, null, null);; b.LayoutParameters = lp; conditionsLayout.AddView(b); button = b; } ConditionButtonChangedHandler cbch = new ConditionButtonChangedHandler(v, button, c, ac, this, parent); _ButtonHandlers.Add(cbch); button.Click += (object sender, EventArgs e) => { AlertDialog.Builder builderSingle = new AlertDialog.Builder(parent.Context); builderSingle.SetTitle(c.Name + " - " + ac.Condition.Name); ArrayAdapter <String> arrayAdapter = new ArrayAdapter <String>(parent.Context, Android.Resource.Layout.SelectDialogItem); arrayAdapter.AddAll(options); builderSingle.SetAdapter(arrayAdapter, (se, ev) => { switch (ev.Which) { case 0: _State.AddConditionTurns(c, ac, 5); break; case 1: _State.AddConditionTurns(c, ac, 1); break; case 2: _State.RemoveConditionTurns(c, ac, 1); break; case 3: _State.RemoveConditionTurns(c, ac, 5); break; case 4: c.Stats.RemoveCondition(ac); break; case 5: foreach (Character chr in _State.Characters) { c.RemoveConditionByName(ac.Condition.Name); } break; } }); builderSingle.Show(); }; } }
public override bool OnOptionsItemSelected(IMenuItem item) { // Handle presses on the action bar items try { switch (item.ItemId) { case Resource.Id.action_paste: pastedText = GetBufText(this); if (pastedText.Length == 0) { Toast.MakeText(this.Application, GetString(Resource.String.msg_empty), ToastLength.Long).Show(); return(true); } SaveFilePos(); annoMode = ANNOTATE_BUFFER; textLen = pastedText.Length; Title = "Chinese Reader"; mBookmarks.Clear(); mFoundBookmarks.Clear(); Annotate(-1); return(true); case Resource.Id.action_open: if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.WriteExternalStorage) != Permission.Granted) { ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.WriteExternalStorage }, REQUEST_STORAGE_FOR_FILEBROWSER); } else { OpenFileBrowser(); } return(true); case Resource.Id.action_save: if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.WriteExternalStorage) != Permission.Granted) { ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.WriteExternalStorage }, REQUEST_STORAGE_FOR_SAVE); } else { SaveToFile(); } return(true); case Resource.Id.action_about: AboutDialog about = new AboutDialog(this); about.Show(); return(true); case Resource.Id.menu_starred: if (annTask != null && annTask.status == AsyncTask.Status.Running) { annTask.Cancel(true); } SaveFilePos(); StartActivityForResult(new Intent(this, typeof(StarredActivity)), STARRED_ACTIVITY_CODE); return(true); case Resource.Id.menu_bookmarks: AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetIcon(Resource.Drawable.ic_launcher); builderSingle.SetTitle("Bookmarks"); ArrayAdapter <string> arrayAdapter = new ArrayAdapter <string>(this, global::Android.Resource.Layout.SelectDialogItem); for (int i = 0; i < mBookmarks.Count; i++) { arrayAdapter.Add(mBookmarks[i].mTitle); } builderSingle.SetNegativeButton("Cancel", (sender, e) => { ((AlertDialog)sender).Dismiss(); }); builderSingle.SetAdapter(arrayAdapter, (sender, e) => { Annotate(mBookmarks[e.Which].mPosition); }); builderSingle.Show(); return(true); default: if (item.ItemId < 4) { string path = GetPreferences(FileCreationMode.Private).GetString("recent" + item.ItemId, ""); SaveFilePos(); Annotate(path); } return(base.OnOptionsItemSelected(item)); } } catch (Exception e) { Toast.MakeText(this, "Error: " + e.Message, ToastLength.Long).Show(); } return(false); }