我正在尝试在一个活动中保存日期,然后将该日期放在另一个活动的textView中。我不确定如何让这两个活动相互沟通。 在名为report.java的文件中,我有这个方法获取日期并将其保存在sharedPrefernces中。
private void updateLabel() {
date.setText(fmtDate.format(dateAndTime.getTime()));
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("date", date.getText().toString()); // value to store
editor.commit();
}
我试图找出如何获取我的文件名为inspect使用它来填充textView 我认为我遇到的问题是获取报告文件的正确名称。
public static final String PREF_FILE_NAME = "report";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
然后我在一个名为onResume()
的方法上有这个代码 @Override
public void onResume() {
super.onResume();
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
String strDate=preferences.getString("date", date.getText().toString());
date.setText(strDate);
}
答案 0 :(得分:2)
您将值保存为两个单独的首选项文件。
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
只使用一个。
答案 1 :(得分:1)
为什么不使用应用的所有类/活动都可以访问的默认首选项文件?
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(yourContext);
preferences.edit().putString(YOURKEY, yourStrValue);
这样您就不会在应用中创建额外的首选项文件,您必须记住哪些值存储在哪些文件中。绝对让生活更轻松。