O valor SharedPreferences não é atualizado
Eu estou tentando atualizar os valores dePreferências Compartilhadasaqui está meu código:
<code>edit = PreferenceManager.getDefaultSharedPreferences(this).edit(); edit.putString(Settings.PREF_USERNAME+"",txtuser); edit.putString(Settings.PREF_PASSWORD+"",txtpass); edit.commit();" </code>
O problema é que quando estou acessando esses valores, ele não está retornando valores atualizados, isso me dá um valor de SharedPreferences.
Mas quando estou confirmando os dados emXML arquivo, os dados atualizados nele.
E depois de reiniciar meu aplicativo, recebo esses valores atualizados. Por isso, requer que eu reinicie o aplicativo para obter valores atualizados.
Então, como obter esses valores atualizados uma vez que ele muda?
desde já, obrigado
Aqui está todo o meu código:
<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>