在我的MainActivity中,我编写了一些代码,我假设它创建了一个文件并在该文件中保存了一个值。
public static final String WHAT_I_WROTE = null;
public void sendMessage(View view) {
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
//creates new SharedPreference?
SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);
//writes to the preferences file called saved_text?
SharedPreferences.Editor writer = saver.edit();
writer.putString(WHAT_I_WROTE, message);
writer.commit();
}
在另一项活动中,我希望能够阅读并显示它,但是当我尝试这个时,它无法解析符号" saver"。
String text_for_display = saver.getString(WHAT_I_WROTE);
我在这里犯了什么错误,如何更正它以阅读已保存的字符串?
感谢。
答案 0 :(得分:0)
在另一项活动中,您必须再次初始化共享偏好。
SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);
String text_for_display = saver.getString(WHAT_I_WROTE),"any_default_value";
WHAT_WROTE =" anyText"
答案 1 :(得分:0)
将此添加到您拥有的其他活动中:
SharedPreferences saver = getSharedPreferences("saved_text", Context.MODE_PRIVATE);
然后像这样阅读
String myValue = saver.getString("saved_text", "default_value");
答案 2 :(得分:0)
优先设置值,例如
SharedPreferences.Editor editor = getSharedPreferences("saved_text", MODE_PRIVATE).edit();
editor.putString("WHAT_I_WROTE", message);
editor.commit();
检索数据,
SharedPreferences prefs = getSharedPreferences("saved_text", MODE_PRIVATE);
String text_for_display = prefs.getString("WHAT_I_WROTE", null);
答案 3 :(得分:0)
如有必要,请不要忘记在“context
”之前加上“getSharedPreferences
”。