2014-09-29 61 views
1

所以我有一些基本的活動與一些標籤片段。其中一個打開一個連接到我的數據庫。該應用程序啓動沒有任何崩潰,但是當我在旋轉手機和視圖重建我在得到一個「NullPointerException異常」:使用SQLite DB與片段

147 MySQLiteHelper dbHelper = new MySQLiteHelper(getActivity()); 
148 SQLiteDatabase db = dbHelper.getReadableDatabase(); 

調試器:

09-30 00:12:56.307 9690-9690/com.apps.jean.emergency E/AndroidRuntime﹕ FATAL EXCEPTION: main 
java.lang.NullPointerException 
     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224) 
     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188) 
     at com.apps.jean.emergency.Fragment.Call_Fragment.loadContinentDataInSpinner(Call_Fragment.java:148) 

誰能幫助我?謝謝 !

回答

1

我會看看你在哪裏調用新的MySQLiteHelper(getActivity())。它在onCreate()?您的片段可能尚未附加到活動。嘗試等待,直到你在onAttach()方法中,然後你會有一個Activity。

+0

你說得對,getActivity()方法給了我一個null。但我不明白爲什麼它只能在第一次嘗試時崩潰,並且只有在重新創建片段時纔會崩潰。我在活動中調用的片段內部調用一個公共函數,我認爲它在onAttach之前調用 – tufekoi 2014-09-30 21:00:23