在fragment中调用SharedPreferences

[o]

 

Activity中调用SharedPreferences的方式:

String prefsName = "mysetting";   
SharedPreferences prefs = getSharedPreferences(prefsName, Context.MODE_PRIVATE);
boolean a1 = prefs.getBoolean("a1_key", false);
boolean a2 = prefs.getBoolean("a2_key", false);
...

 

此方法在Fragment中无效,将目标Activity引用进Fragment会报空指针异常:

MyActivity mActivity;
SharedPreferences prefs = mActivity.getSharedPreferences(prefsName, 
  Context.MODE_PRIVATE);

 

因为SharedPreferences在Activity全局中生效,故只要使用getActivity()泛调用即可:

 

String prefsName = "mysetting"; 
SharedPreferences prefs = getActivity().getSharedPreferences(prefsName, 
  Context.MODE_PRIVATE);

 

posted @ 2015-12-08 15:34  misybing  阅读(1000)  评论(0编辑  收藏  举报