使用preferencemanager的java.lang.NullPointerException

使用preferencemanager的java.lang.NullPointerException,java,android,sharedpreferences,android-logcat,Java,Android,Sharedpreferences,Android Logcat,Logcat错误: 01-21 07:23:04.021: E/AndroidRuntime(361): Caused by: java.lang.NullPointerException } 在我相信的这段java代码中: while (date.equals("01:00:00") || bSet); int randomNumber = rand.nextInt(ids.length); String last = ((getResources().getString(i

Logcat错误:

01-21 07:23:04.021: E/AndroidRuntime(361): Caused by: java.lang.NullPointerException }
在我相信的这段java代码中:

while (date.equals("01:00:00") || bSet);
    int randomNumber = rand.nextInt(ids.length);
    String last = ((getResources().getString(ids[randomNumber])));
    tv.setText(last);
    edit.putString(last, null);
    edit.commit();
在oncreate方法之前,我已将首选项设置为:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor edit = prefs.edit();

上下文在
onCreate
之前不可用,因此不能使用
在这里:

将其放入onCreate中,如下所示:

  SharedPreferences prefs;
    SharedPreferences.Editor edit;
再创造

  prefs = PreferenceManager.getDefaultSharedPreferences(this);
  edit = prefs.edit();

Java中的所有可执行代码都必须在一个方法中。请使用
getApplicationContext()
而不是
this
  prefs = PreferenceManager.getDefaultSharedPreferences(this);
  edit = prefs.edit();