全部好,
在我的活动中,我使用了默认的共享优先级来存储一些数据......它也存储了。 但是当我想访问类外的共享prefrence(没有活动的Simple类)时,我的项目显示错误。
代码:
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this);
user = p.getString("Username", null);
pass=p.getString("Password", null);
它在getDefaultSharedPreferences上显示红线,当我将鼠标悬停在它上面时它显示
PreferenceManager类型中的getDefaultSharedPreferences(Context)方法不适用于参数(Myclassname)
任何人都可以帮助我...我想访问活动类之外的共享优势,而不是活动。
提前致谢。
答案 0 :(得分:2)
如果不将当前上下文传递给getDefaultSharedPreferences(),则无法工作, 如果您想访问外部,那么您应该找到一些方法将您的上下文传递给该类
一些建议
您可以使用静态变量
class A extends Activity{
-----------
Static Context context;
onCreate(--){
context = this;
}
}
所以在课堂上你可以使用
getDefaultSharedPreferences(A.context);
注意:仅当A是当前活动时才会起作用。
或者您可以使用某个函数将上下文传递给该类,例如将值传递给其构造函数或任何特定函数。所以你可以把它存储在那里并从那里使用