SharedPreferences不起作用。始终显示相同的值

时间:2015-03-14 03:17:07

标签: java android

这是我的MainActivity.java的onCreate方法:

protected void onCreate(Bundle savedInstanceState) {
loadSavedPreferences();
        savePreferences("storedAddress", userAddress.getText().toString());

}

这两个是类中的方法

private void loadSavedPreferences() {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);
        String address = sharedPreferences.getString("storedAddress", "YourAddress");
        userAddress.setText(address);
    }

    private void savePreferences(String key, String value) {
        SharedPreferences sharedPreferences = PreferenceManager
                .getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
    }

这是流程。首次使用该应用的用户必须在EditText字段中输入其地址。我想在用户返回时将相同的地址存储在那里。

上面代码的问题:它始终显示" YourAddress"在EditText字段中。此应用程序无需登录。只是一个简单的表格。

1 个答案:

答案 0 :(得分:1)

在用户输入地址,点击按钮或其他任何操作后,您可以使用savePreferences()方法。

现在的方式,只有在创建活动时以及使用默认值YourAddress加载首选项后才会保存。这就是为什么你总是得到相同的价值。