我有一个类A这个类不扩展或实现任何其他类。然后我有一个B类,这个类也不扩展或实现任何其他类。无法初始化SharedPreferences
我的B类仅用于管理SharedPreferences
:
private static SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
这是问题的方法在B类:
public static void setCurrentUsersEmail(String email){
sharedPreferences.edit().putString("userEmail",email).commit();
}
现在A级是一个数据库管理器和需要存储的用户电邮SharedPreferences
供以后使用。我这样做是用下面的代码:`
MySharedPrefs.setCurrentUsersEmail(currentUsersEmail);
然而,当我尝试运行在A类代码中,我得到的错误:
java.lang.ExceptionInInitializerError at com.test.Android.MySharedPrefs.setCurrentUsersEmail(MySharedPrefs.java:0)
我,为什么出现这种情况我不能真的很困惑在搜索后找不到解决方案,我在其他活动中使用我的sharedPreferences类完全正常。这是一个活动问题吗?
任何帮助,非常感谢。
你如何通过''里面getDefaultSharedPreferences mContext' ()'方法 – Aryan
所以我从一个recyclerview适配器调用'setCurrentUsersEmail(currentUsersEmail)'。然后进入A类,在那里检查数据库,然后调用SharedPreferences。当最初创建sharedPreferences时,我从MainActivity调用一个方法来获取它的上下文数据。我不认为在这种情况下发送上下文,虽然 – memoryManagers