Tengo una pequeña API con preferencias. En esta clase he configurado el onPreferenceClick para obtener coordenadas del GPS. Cuando el oyente vuelve, mi esperanza era establecer los textext de latitud/longitud automáticamente. He intentado todas las muestras de fuente por ahí, sin suerte:Android: Configuración de preferencias programáticamente
public void onLocationChanged(Location l) {
Log.d("H","Location Received: "+l.toString());
prefLocation.setSummary(l.toString());
SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor1 = settings.edit();
editor1.putString("posLat","xxx");
editor1.commit();
}
Cuando este código se ejecuta cuando hago clic en mi pantalla PREFERENCE y la ubicación rendimientos del oyente, la EditTextPreference con la tecla "posLat" sigue mostrando el valor antiguo.
¡Me estoy volviendo loca tratando de descubrir qué pasa!
Mi prefs.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="My_Shared_Preferences">
<PreferenceCategory
android:title="Your Location">
<PreferenceScreen
android:title="Find Location..."
android:key="location"
android:summary="Click here to read your location automatically"/>
<EditTextPreference
android:title="Latitude"
android:key="posLat" />
<EditTextPreference
android:title="Longtitude"
android:key="posLong" />
<EditTextPreference
android:title="Altitude"
android:key="posAlt" />
</PreferenceCategory>
</PreferenceScreen>
Como alternativa, tal vez hay una mejor manera de almacenar el valor de ubicación para una aplicación? Realmente no quiero que el usuario ingrese las coordenadas manualmente, pero no quiero recurrir a guardar y cargar un archivo de texto con la configuración, parece muy crudo.
Amigo, me gustaría poder comprarte un café. ¡Un millón de gracias! –
De nada :) Lucharon un tiempo con eso también, conocen la sensación. Tomaré un café y pretenderé que fue contigo;) –