Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 studio 片段中的共享引用_Android Studio_Android Fragments_Android Activity_Sharedpreferences - Fatal编程技术网

Android studio 片段中的共享引用

Android studio 片段中的共享引用,android-studio,android-fragments,android-activity,sharedpreferences,Android Studio,Android Fragments,Android Activity,Sharedpreferences,我在fragment中使用了SharedReferences。 我想使用mainActivity中fragment的SharedReferences数据。 我该怎么做?请提供帮助。您可以为SharedReference创建一个单例类,然后您可以从任何活动或片段访问它 示例 Public void saveData() { SharedPreferences prefs = getActivity().getSharedPreferences(SHARED_PREFS, MODE_PRI.

我在
fragment
中使用了
SharedReferences
。 我想使用
mainActivity
fragment
SharedReferences
数据。
我该怎么做?请提供帮助。

您可以为
SharedReference
创建一个
单例类
,然后您可以从任何
活动
片段
访问它

示例

Public void saveData() {
   SharedPreferences prefs = getActivity().getSharedPreferences(SHARED_PREFS, MODE_PRI. VATE);
   SharedPreferences.Editor editor = prefs.edit();
   editor.putString(TEXT,edit name.getText().toString());
   editor.apply();
}
现在,您可以从任何
活动
片段
使用SessionManager,如下所示

public class SessionManager {
  private static SessionManager jInstance;
  private final SharedPreferences prefs;
  private final SharedPreferences.Editor editor;

  private SessionManager(Context context) {
      prefs = context.getSharedPreferences("Your_Preference_name", Context.MODE_PRIVATE);
      editor = prefs.edit();
  }

  public static synchronized SessionManager getInstance(Context context) {
      if (jInstance != null) {
          return jInstance;
      } else {
          jInstance = new SessionManager(context);
          return jInstance;
      }
  }

  public void setUserEmail(String userEmail){
      editor.putString("user_email",userEmail);
      editor.apply();
  }
  public String getUserEmail(){
      return prefs.getString("user_email","");
  }
}
SessionManager.getInstance(context).setUserEmail("abc@gmail.com");
String email = SessionManager.getInstance(context).getUserEmail();