public static KeyEntryPreferenceDialogFragment NewInstance(String API, String key) { var fragment = new KeyEntryPreferenceDialogFragment(API); Bundle b = new Bundle(1); b.PutString(ArgKey, key); fragment.Arguments = b; return(fragment); }
public override void OnDisplayPreferenceDialog(Preference preference) { const String TAG = nameof(KeyEntryPreferenceDialogFragment); if (FragmentManager.FindFragmentByTag(TAG) != null) { return; } if (preference is EditTextPreference && preference.Key == KEY_APIKEY) { var fragment = KeyEntryPreferenceDialogFragment.NewInstance(providerPref.Value, preference.Key); fragment.PositiveButtonClick += async(sender, e) => { String key = fragment.Key; String API = providerPref.Value; if (await WeatherData.WeatherManager.IsKeyValid(key, API)) { Settings.API_KEY = key; Settings.API = API; Settings.KeyVerified = true; UpdateKeySummary(); UpdateAlertPreference(WeatherData.WeatherManager.GetInstance().SupportsAlerts); fragment.Dialog.Dismiss(); } }; fragment.SetTargetFragment(this, 0); fragment.Show(this.FragmentManager, TAG); } else { base.OnDisplayPreferenceDialog(preference); } }