我使用TinyDB将ArrayList从一个Activity传递给另一个Activity。 TinyDB具有这样的构造函数:
public class TinyDB {
public TinyDB(Context appContext) {
preferences = PreferenceManager.getDefaultSharedPreferences(appContext);
}
}
当我在方法中初始化TinyDB时,一切正常:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
TinyDB tinydb = new TinyDB(getApplicationContext());
}
但是当我将此原始内容放在任何方法之外时,
TinyDB tinydb = new TinyDB(getApplicationContext());
@Override
public boolean onOptionsItemSelected(MenuItem item) {
}
出现
java.lang.NullPointerException:尝试调用虚拟方法 'android.content.Context 空对象上的android.content.Context.getApplicationContext()' 参考
有人可以解释一下这两种初始化TinyDB的方式之间的区别吗?任何参考文献也将不胜感激。