मेरे पास वरीयताओं के साथ एक छोटा एपी है। इस कक्षा में मैंने जीपीएस से निर्देशांक प्राप्त करने के लिए ऑन प्रेफरेंस क्लिक किया है। जब श्रोता लौटाता है, तो मेरी आशा है कि लैट/लम्बी टेक्स्टेट स्वचालित रूप से सेट हो। मैं वहाँ बाहर हर स्रोत नमूना की कोशिश की है, कोई भाग्य:एंड्रॉइड: वरीयताओं को प्रोग्रामेटिक रूप से सेट करना
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();
}
इस कोड को निष्पादित करता है जब जब मैं अपने PreferenceScreen और स्थान श्रोता रिटर्न पर क्लिक करें, कुंजी "poslat" के साथ EditTextPreference अभी भी पुराने मूल्य को दर्शाता है।
मैं क्या गलत है यह जानने की कोशिश कर पागल हो रहा हूं!
मेरे 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>
वैकल्पिक रूप से, शायद वहाँ एक आवेदन के लिए स्थान मूल्य की दुकान के लिए एक बेहतर तरीका है? मैं वास्तव में उपयोगकर्ता को निर्देशांक मैन्युअल रूप से दर्ज नहीं करना चाहता हूं, लेकिन मैं सेटिंग के साथ टेक्स्ट फ़ाइल को सहेजने और लोड करने का सहारा लेना नहीं चाहता, ऐसा लगता है कि यह बहुत कच्चा लगता है।
दोस्त, मेरी इच्छा है कि मैं आपको एक कॉफी खरीद सकूं। बहुत - बहुत धन्यवाद! –
आपका स्वागत है :) उस समय के साथ कुछ समय तक संघर्ष किया, भावना महसूस करें। मैं एक कॉफी ले जाऊंगा और दिखाऊंगा कि यह आप पर था;) –