SharedPreferences-Wert wird nicht aktualisiert
Ich versuche die Werte von zu aktualisierenGemeinsame EinstellungenHier ist mein Code:
<code>edit = PreferenceManager.getDefaultSharedPreferences(this).edit(); edit.putString(Settings.PREF_USERNAME+"",txtuser); edit.putString(Settings.PREF_PASSWORD+"",txtpass); edit.commit();" </code>
Das Problem ist, dass beim Zugriff auf diese Werte keine aktualisierten Werte zurückgegeben werden und ich den Wert SharedPreferences erhalte.
Aber wenn ich die Daten bestätigeXML Datei, die darin aktualisierten Daten.
Und nach dem Neustart meiner Anwendung erhalte ich die aktualisierten Werte. Daher muss ich die Anwendung neu starten, um aktualisierte Werte zu erhalten.
Wie erhält man diese aktualisierten Werte, wenn sie sich ändern?
Danke im Voraus
Hier ist mein ganzer Code:
<code>@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(); } </code>