为什么应该在getString()之后给出moveToNext()?如果不是,应用程序崩溃!
for(int i=0;i<c.getCount();i++)
{
result+= c.getString(c.getColumnIndex("productname"));
c.moveToNext();
}
答案 0 :(得分:0)
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次计数!
这个问题有一个很好的答案来解释光标是什么。我认为它是一个临时表(电子表格)。
movetoNext()将“光标”(将突出显示的电子表格矩形)移动到“productname”列的下一行(下一个产品的名称)。
由于很多原因可能会崩溃,也许productname不是游标'c'中的列。以下是有关调试的问题,可能很有用How to debug android project? 旧步骤然后检查最后一个异常/错误方法应该做的伎俩。