Ho un piccolo ap con le preferenze. In questa classe ho impostato onPreferenceClick per ottenere le coordinate dal GPS. Quando l'ascoltatore ritorna, la mia speranza è quella di impostare automaticamente il testo lat/long. Ho provato ogni campione fonte là fuori, senza fortuna:Android: impostazione delle preferenze a livello di programmazione
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();
}
Quando questo codice viene eseguito quando clicco sul mio PREFERENCE e la posizione ritorna ascoltatore, l'EditTextPreference con il tasto "posLat" mostra ancora il vecchio valore.
Sto impazzendo cercando di capire cosa c'è che non va!
mio 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>
In alternativa, forse c'è un modo migliore per memorizzare il valore di posizione per un'applicazione? Non voglio davvero che l'utente inserisca manualmente le coordinate, ma non voglio ricorrere al salvataggio e al caricamento di un file di testo con le impostazioni, sembra così rozzo.
Amico, vorrei poterti comprare un caffè. Grazie mille! –
Prego :) Hai faticato un po 'di tempo con quello, conosci le sensazioni. Prenderò un caffè e farò finta che fosse su di te;) –