Android 使用带片段的SQLite DB

Android 使用带片段的SQLite DB,android,android-fragments,fragment,android-sqlite,Android,Android Fragments,Fragment,Android Sqlite,所以我有一个基本的活动和一些标签片段。其中一个打开了到我的数据库的连接。应用程序启动时不会发生任何崩溃,但当我旋转手机并重新创建视图时,我会在以下屏幕上看到“NullPointerException”: 调试器: 09-30 00:12:56.307 9690-9690/com.apps.jean.emergency E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException at andro

所以我有一个基本的活动和一些标签片段。其中一个打开了到我的数据库的连接。应用程序启动时不会发生任何崩溃,但当我旋转手机并重新创建视图时,我会在以下屏幕上看到“NullPointerException”:

调试器:

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)

有人能帮我吗?谢谢

我想看看您在哪里调用新的MySQLiteHelper(getActivity())。是否在onCreate()中?您的片段可能尚未附加到活动。尝试等待,直到您使用了onAttach()方法,然后您将有一个活动。

您是对的,getActivity()方法会给我一个空值。但我不明白为什么它在第一次尝试时起作用,只有在片段被重新创建时才会崩溃。我在从活动调用的片段中的公共函数中进行调用,我认为它是在onAttach之前调用的
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)