我在Android中遇到SharedPreferences问题。

这是我的代码:

    SharedPreferences s = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
    s.edit().putString("eur", "1.80");
    s.edit().commit();
    SharedPreferences a = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
    String kurs = a.getString("eur","7");

    Toast hhh= Toast.makeText(getApplicationContext(),kurs, Toast.LENGTH_LONG);
    hhh.show();

我正在设置String,并希望在此之后直接在onCreate方法中将其读出。但是我总是得到指定的默认值“7”。

什么问题?我已经研究了这个问题,但是找不到有用的东西。

谢谢你的帮助 :)

最佳答案

每次您调用“s.edit()”时,都会创建一个新的编辑器。因此,您的“commit()”调用位于尚未应用您的设置的编辑器实例上。尝试这个:

SharedPreferences s = this.getSharedPreferences("kurs",MODE_WORLD_READABLE);
Editor editor = s.edit();
editor.putString("eur", "1.80");
editor.commit();

10-08 17:37