-1
我一直在將我的應用程序轉換爲使用片段來增加一些靈活性,但是在這樣做時,當我嘗試對數據庫進行更新時,出現NullPointerException。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)
這是我在save.setOnClickListener Fragment.java,的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);
請讓我們知道你在哪裏以及如何初始化db變量 – Keerthivasan
All set! - 最終MySQLiteHelper db = new MySQLiteHelper(mContext); – Rob
在執行方法調用之前檢查'db'的值 – Keerthivasan