Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在两个活动之间使用SharedReference时出现问题_Android_Sharedpreferences - Fatal编程技术网

Android 在两个活动之间使用SharedReference时出现问题

Android 在两个活动之间使用SharedReference时出现问题,android,sharedpreferences,Android,Sharedpreferences,我试图在一个活动中保存一个日期,然后在另一个活动中将该日期放在文本视图中。我不知道如何让这两个活动相互沟通。 在名为report.java的文件中,我有一个获取日期并将其保存在SharedReferences中的方法 private void updateLabel() { date.setText(fmtDate.format(dateAndTime.getTime())); SharedPreferences preferences = getPreferences(MODE

我试图在一个活动中保存一个日期,然后在另一个活动中将该日期放在文本视图中。我不知道如何让这两个活动相互沟通。 在名为report.java的文件中,我有一个获取日期并将其保存在SharedReferences中的方法

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();
}
我正试图找出如何获取名为inspection的文件,使用此文件填充textView 我认为我遇到的问题是如何为报告文件获取正确的名称

public static final String PREF_FILE_NAME = "report";
   SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
然后我在一个名为onResume()的方法上有了这段代码


您正在将该值保存到两个单独的首选项文件中

SharedPreferences preferences = getPreferences(MODE_PRIVATE);

SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

只使用一个。

为什么不使用应用程序的所有类/活动都可以访问的默认首选项文件

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(yourContext);
preferences.edit().putString(YOURKEY, yourStrValue);
这样,您就不会在应用程序中创建额外的首选项文件,您必须记住哪些值存储在哪些文件中。肯定会让生活更轻松

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(yourContext);
preferences.edit().putString(YOURKEY, yourStrValue);