黑马程序员技术交流社区

标题: 【长沙校区】getSharedPreferences的问题 [打印本页]

作者: 阳丹老师    时间: 2016-3-28 18:39
标题: 【长沙校区】getSharedPreferences的问题
本帖最后由 阳丹老师 于 2016-3-28 18:42 编辑


                      在Activity的成员中写 private SharedPreferences sp = getSharedPreferences("config",MODE_PRIVATE);报 NullPointException的问题

             getSharedPreferences()方法是ContextWrapper类中的方法。mBase为Context对象

3、ContextThemeWrapper构造方法



              因此在成员变量中调用getSharedPreferences会报空指针异常。
  • 如何规避这个问题
  • 首先明白context对象是在哪里赋值的。

        从上图可以看出Context对象是通过attachBaseContext()方法赋值的。而在Activity的attach方法中调用此方法,并给Context对象赋值。attach方法是Activity被创建的时候调用的方法,它执行在OnCreate()方法之前。因此如果要调用getSharedPreference()方法,可以在onCreate()、onStart()等方法中









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2