मैं SharedPreferences के मूल्यों को अद्यतन करने के कोशिश कर रहा हूँ, यहाँ मेरी कोड है:SharedPreferences मूल्य अपडेट नहीं किया जाता
edit = PreferenceManager.getDefaultSharedPreferences(this).edit();
edit.putString(Settings.PREF_USERNAME+"",txtuser);
edit.putString(Settings.PREF_PASSWORD+"",txtpass);
edit.commit();"
समस्या यह है कि जब मैं इस मूल्यों तक पहुँचने कर रहा हूँ, यह अद्यतन मूल्यों नहीं लौटा रहा है है, यह मुझे साझा संदर्भों का एक मूल्य देता है।
लेकिन जब मैं XML फ़ाइल में डेटा की पुष्टि कर रहा हूं, तो उसमें अपडेट किया गया डेटा।
और मेरे एप्लिकेशन को पुनरारंभ करने के बाद मुझे अपडेट किए गए मान मिल रहे हैं। तो मुझे अद्यतन मूल्य प्राप्त करने के लिए एप्लिकेशन को पुनरारंभ करने की आवश्यकता है।
तो, इन अद्यतन मानों को बदलने के बाद उन्हें कैसे प्राप्त करें?
अग्रिम
यहाँ धन्यवाद मेरे पूरे कोड है:
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
ctx=this;
status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// get old value
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
on(ctx,true);// function will call and value is updated
}
}});
status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// this should give me a updated value but gives old value
}
public static boolean on(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(Settings.PREF_ON, Settings.DEFAULT_ON);
}
public static void on(Context context,boolean on) {
if (on) Receiver.engine(context).isRegistered(); //
}
**********in reciver file***********
public void isRegistered) {
Editor edit = PreferenceManager.getDefaultSharedPreferences(Receiver.mContext).edit();
edit.putString(Settings.PREF_STATUS+"","0");
edit.commit();
}
मूल्य प्राप्त करने का कोड दिखाएं। –
क्या आप अन्य कोड दिखा सकते हैं जो सही मान देता है। और कहां से आप मूल्य अपडेट कर रहे हैं? यदि साझा साझा प्राथमिकताओं को अपडेट करने से पहले आपको मूल्य मिल रहे हैं, तो यह निश्चित रूप से पुराने मान देगा। –