Android Cursor,moveToNext()错误

时间:2016-04-03 08:40:41

标签: android cursor

为什么应该在getString()之后给出moveToNext()?如果不是,应用程序崩溃!

for(int i=0;i<c.getCount();i++)
{
    result+= c.getString(c.getColumnIndex("productname"));                 
    c.moveToNext();
}

1 个答案:

答案 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次计数!

use of cursor in android

这个问题有一个很好的答案来解释光标是什么。我认为它是一个临时表(电子表格)。

movetoNext()将“光标”(将突出显示的电子表格矩形)移动到“productname”列的下一行(下一个产品的名称)。

由于很多原因可能会崩溃,也许productname不是游标'c'中的列。以下是有关调试的问题,可能很有用How to debug android project? 旧步骤然后检查最后一个异常/错误方法应该做的伎俩。