getApplicationContext()

时间:2018-12-27 11:52:20

标签: java methods tinydb

我使用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的方式之间的区别吗?任何参考文献也将不胜感激。

0 个答案:

没有答案