пожалуйста, мне нужна ваша помощь, чтобы выяснить, почему эти строки кода не работают.Я хотел бы заполнить список элементами String, взятыми из базы данных.
Это метод fillTheList (), который возвращает список:
public List<String> fillTheList() {
List<String> list = new ArrayList<String>();
//My database is called "ITEMS_" and the first column is called "typeOfItem"
String[] column = {"typeOfItem"};
String selection = "SELECT DISTINCT type FROM ITEMS_";
Cursor cursor = MainActivity.sqLiteHelper.getDataCategories("ITEMS_", column, selection);
if(cursor != null) {
list.clear();
if (cursor.moveToFirst()) {
do {
String type = cursor.getString(1);
list.add(type);
} while (cursor.moveToNext());
}
}
Log.d("List", cursor.getString(1));
return list;
}
Метод getDataCategories () представляет собой методsqLiteHelper-class
public Cursor getDataCategories(String table, String[] columns, String selection )
{
SQLiteDatabase database = getReadableDatabase();
Cursor cursor = database.query(true, table, new String[] {String.valueOf(columns)}, selection,
null, null, null, null, null);
return cursor;
}
Ошибка возникает по адресу: курсор курсора = MainActivity.sqLiteHelper.getDataCategories ("ITEMS_", столбец, выделение);и logcat: «Причина: java.lang.NullPointerException: попытка вызвать виртуальный метод» android.database.Cursor SQLiteHelper.getDataCategories (java.lang.String, java.lang.String [], java.lang.String)'на нулевой ссылке на объект "