@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // Changing the backend url selection (internal, external, etc.) if (StringUtils.equals(key, getString(R.string.preference_key_key_base_url)) || StringUtils.equals(key, getString(R.string.preference_key_value_base_url))) { String keyValue = sharedPreferences.getString(key, ""); Preference keyPreference = findPreference(key); String[] keysTab = getResources().getStringArray(R.array.backend_url_keys); String[] valuesTab = getResources().getStringArray(R.array.backend_url_values); boolean resetBackendEndConnectors = true; if (StringUtils.equals(key, getString(R.string.preference_key_key_base_url))) { int indexKey = ArrayUtils.indexOf(keysTab, keyValue); // Setting the description to the right key keyPreference.setSummary(keyValue); // For custom key don't empty the field if (indexKey < keysTab.length - 1) { // If something changed if (!StringUtils.equals( valuesTab[indexKey], mSharedPreferences.getString( getString(R.string.preference_key_value_base_url), ""))) { Preference prefValueBackendUrl = findPreference(getString(R.string.preference_key_value_base_url)); prefValueBackendUrl.setSummary(valuesTab[indexKey]); ((EditTextPreference) prefValueBackendUrl).setText(valuesTab[indexKey]); // Saving the value on the settings SharedPreferences.Editor editor = mSharedPreferences.edit(); editor.putString( getString(R.string.preference_key_value_base_url), valuesTab[indexKey]); editor.commit(); } else { resetBackendEndConnectors = false; } } } // Changing the backend url value else { // Updating the description (Or custom if no value found) Preference prefKeyBackendUrl = findPreference(getString(R.string.preference_key_key_base_url)); prefKeyBackendUrl.setSummary(keysTab[ArrayUtils.indexOf(valuesTab, keyValue)]); keyPreference.setSummary(keyValue); } // Update the url of the backend if (resetBackendEndConnectors) { B2BApplication.updateUrl( mSharedPreferences.getString(getString(R.string.preference_key_value_base_url), "")); } } }