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>

Antworten auf die Frage(5)

Ihre Antwort auf die Frage