程序从sqlite数据库读取数据并放入ListView组件中,然而实际运行的时候总是只能读出第一行的数据。代码如下:
cursor.moveToFirst();
int colNum = cursor.getColumnCount();
do{
for(int i=0;i<=colNum;++i){
list.add(cursor.getString(i));
}
}while (cursor.moveToNext());
找了很久……发现是自己当时以为cursor.getString应该从1开始,然后就把循环终止条件设为i<=colNum,结果这里的调用越界之后,cursor.moveToNext就直接为false了???也是很疑惑
所以这样就没问题了……
cursor.moveToFirst();
int colNum = cursor.getColumnCount();
do{
for(int i=0;i<colNum;++i){
list.add(cursor.getString(i));
}
}while (cursor.moveToNext());