这是我的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字段中。此应用程序无需登录。只是一个简单的表格。
答案 0 :(得分:1)
在用户输入地址,点击按钮或其他任何操作后,您可以使用savePreferences()
方法。
现在的方式,只有在创建活动时以及使用默认值YourAddress
加载首选项后才会保存。这就是为什么你总是得到相同的价值。