我一直在转换我的应用程序以使用片段来增加灵活性,但是当我尝试对数据库进行更新时,我得到了NullPointerException。
03-03 09:26:40.610: E/AndroidRuntime(20613): java.lang.NullPointerException
03-03 09:26:40.610: E/AndroidRuntime(20613): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
03-03 09:26:40.610: E/AndroidRuntime(20613): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
这是在我的Fragment.java中的save.setOnClickListener,onClick
db.getWritableDatabase();
db.addGasLog(new gasLog(pricePerGallonInt, gallonsInt, odometerInt, todayString, fill, commentsString, totalSpent));
当我从普通的NewRecord.java(预添加片段)执行此操作时,我可以将条目添加到数据库中。
有什么想法吗?
编辑:我已经阅读了一些关于人们在打开片段之前在MainActivity.java中打开连接的事情,如果你需要查看那里的代码,请告诉我。
EDIT2:
这是我初始化db
的地方final MySQLiteHelper db = new MySQLiteHelper(mContext);
答案 0 :(得分:0)
片段没有正确获取上下文。我必须使用getActivity()
来获取适当的上下文。