Android getColumName и getColumnIndex

Я начинающий андроид, и у меня проблема с моим курсором. Я не могу получить доступ к данным с помощью: cursor.get(cursor.getColumnIndex(columnName));

Я попробовал следующий код для проверки на наличие ошибки:

 while (cursor.moveToNext()) { int x = 2; Log.i("MyDebug", "Index: " + x); Log.i("MyDebug", "Name: " + cursor.getColumnName(x)); Log.i("MyDebug", "Index again: " + cursor.getColumnIndex(cursor.getColumnName(x))); } 

Результат от монитора отладки:

 Index: 2 Name: mainMenu.title Index again: -1 

Разве не должен быть результат «Индекс снова»? Что я делаю не так?

cursor.getColumnIndex() ожидает имя столбца без имени таблицы:

 cursor.getColumnIndex("mainMenu.title"); // -1 cursor.getColumnIndex("title"); // 2 

У меня была аналогичная проблема, и я решил ее, указав мои псевдонимы столбцов в моем довольно сложном запросе, затем я использовал эти псевдонимы в качестве ссылок, например: Начало моего запроса:

 SELECT lith.drill_id, lith.depth_from, ... ... 

cursor.getColumnIndex("depth_from") gave -1

Затем я добавил псевдонимы столбцов:

 SELECT lith.drill_id AS drill_id, lith.depth_from as depth_from, ... ... 

cursor.getColumnIndex("depth_from") затем дал правильное значение.