【发布时间】:2014-04-04 16:11:38
【问题描述】:
我一直在转换我的应用程序以使用片段来增加一些灵活性,但是在这样做时,当我尝试对数据库进行更新时,我得到了 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:
这是我初始化数据库的地方
final MySQLiteHelper db = new MySQLiteHelper(mContext);
【问题讨论】:
-
请告诉我们你在哪里以及如何初始化
db变量 -
一切就绪! - 最终 MySQLiteHelper db = new MySQLiteHelper(mContext);
-
在调用方法之前检查
db的值 -
我的 sdk 中没有
SQLiteOpenHelper.getDatabaseLocked的踪迹。是MySQLiteHelper的方法吗? -
这不是我帮手的方法。不确定它的实际来源。
标签: java android nullpointerexception fragment