使用preferencemanager的java.lang.NullPointerException
Logcat错误:使用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
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();