我对SharedPreferences
有疑问。我在一个名为HashM.java
的类中实现了它们。开始这样的事情:
public void getPrefs (Context BaseContext) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(BaseContext);
我试图以这种方式在我的点击监听器中调用它:
HashM hash = new HashM();
hash.getPrefs();
但是,我收到一个错误:
getPrefs (Context) in HashM cannot be applied
有人能指出我如何解决这个问题吗?谢谢。
答案 0 :(得分:1)
getPrefs(Context)
期望上下文作为参数。您需要在其中传递活动上下文。
你可以这样做
HashM hash = new HashM();
hash.getPrefs(MyActivity.this); // MyActivity is the activity where you are putting this code
答案 1 :(得分:1)
如果您的HashM类有更多需要指定上下文的方法,请考虑使用Context参数为此类创建构造函数,并将其分配给变量,如下所示:
class HashM
Context mContext;
public HashM (Context context) {
mContext = context;
}
public void getPrefs () {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
并以
作为参考HashM hashM = new HashM(getActivity());
答案 2 :(得分:0)
添加到@ Rohit5k2的答案,你也可以使用
HashM hash = new HashM();
hash.getPrefs(getActivity());