if (c.moveToFirst()){
while(!c.isAfterLast()){
String productNames[i] = c.getString(c.getColumnIndex("productname"));
//Maybe a string array is better than one long string?
i++
c.moveToNext();
}
}
c.close();
How to retrieve data from cursor class
Посмотреть ответ Некоторые Noob Стьюдента о синтаксисе. Вы не используете индекс «i» в своем коде выше, чтобы указать, какую строку вы читаете, - только количество раз, когда вы объединяете строку имен продуктов. Он читает ту же строку n count times!
use of cursor in android
Этот вопрос имеет хороший ответ, объясняющий то, что курсор. Я думаю, что это временная таблица (таблица).
movetoNext() перемещает «курсор» (думаю, выделен прямоугольник электронной таблицы) в следующую строку столбца «productname» (имя следующего продукта).
Это может быть сбой по множеству причин, возможно, имя продукта не является столбцом в курсоре «c». Вот вопрос об отладке, который может быть полезен How to debug android project? Старый шаг, который затем исследует последний метод исключения/ошибки, должен сделать трюк.
вы должны 'c.moveToNext();' перед вызовом 'c.getString' – pskink