NullPointerException в getWritableDatabase после добавления фрагментов в мой проект - PullRequest
0 голосов
/ 28 июля 2011

У меня был рабочий проект, теперь я хотел обновить макет, и я пытаюсь добавить фрагменты (предварительно сота), но теперь кажется, что у меня возникают некоторые проблемы с подключением к моей БД, и я получаю NullPointerException * * 1002

ERROR/AndroidRuntime(27294):     
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
ERROR/AndroidRuntime(27294):    
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)

Мне кажется, это как-то связано с контекстом, который я посылаю конструктору базы данных.

вот мой класс:

public class ShowFragment extends ListFragment {

 ArrayList<String> results = new ArrayList<String>();
 private SQLiteDatabase db;
 WorkTrackdb workdb = new WorkTrackdb(getActivity());
 private ViewGroup mRootView;


@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

     Cursor c = getYears();
             //some code here
}


    Cursor getYears() {
        db = workdb.getReadableDatabase();
        String years[] = {"year"};
        Cursor cursor = db.query(WorkTrackdb.TABLE_NAME, years, null,
                null, null, null,"year DESC");
        return cursor;
    }

1 Ответ

1 голос
/ 28 июля 2011

Попробуйте использовать SQLiteDatabase.openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags) вместо.

Я не уверен, может быть, вам нужно instantiate WorkTrackdb workdb = new WorkTrackdb(getActivity()); внутри onCreate()

...