游标不工作列表视图
Cursor does not work listview
我有这个方法来填充列表视图
private void llenarLista() {
SQLiteDatabase bd= SQLiteDatabase.openDatabase(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SuperStock/SuperStock.db", null, 0);
Cursor cursor = bd.rawQuery("select _id, cod_cliente, nom_cliente, fecha, estado_envio,estado, total_final from pedidos where estado_envio='pendiente' ORDER BY fecha DESC", null);
if(cursor.moveToFirst()) {
adaptador = new AdaptadorListaPedidos(ConsultarPedidos2.this, cursor);
lista.setAdapter(adaptador);
}
else
mensaje("Linea 66","cursor vacio");
cursor.close();
bd.close();
}
但是我的游标有问题,当你运行cursor.close()的时候列表是空的,而注释掉的时候是//cursor.close行(),列表是显示人口稠密。我在滥用光标?有人可以帮忙吗?
您不能 close()
Cursor
正在被 CursorAdapter
使用。请:
在后台线程上打开数据库一次
运行 您在后台线程上的查询,也许是打开数据库的同一线程
完成 CursorAdapter
后关闭光标,例如 activity 的 onDestroy()
或托管 [=15= 的片段]
关闭数据库,如果可行的话,当你用完数据库时(根据定义,这是在你用完从数据库中得到的 Cursor
之后的某个时间)
我有这个方法来填充列表视图
private void llenarLista() {
SQLiteDatabase bd= SQLiteDatabase.openDatabase(Environment.getExternalStorageDirectory().getAbsolutePath() + "/SuperStock/SuperStock.db", null, 0);
Cursor cursor = bd.rawQuery("select _id, cod_cliente, nom_cliente, fecha, estado_envio,estado, total_final from pedidos where estado_envio='pendiente' ORDER BY fecha DESC", null);
if(cursor.moveToFirst()) {
adaptador = new AdaptadorListaPedidos(ConsultarPedidos2.this, cursor);
lista.setAdapter(adaptador);
}
else
mensaje("Linea 66","cursor vacio");
cursor.close();
bd.close();
}
但是我的游标有问题,当你运行cursor.close()的时候列表是空的,而注释掉的时候是//cursor.close行(),列表是显示人口稠密。我在滥用光标?有人可以帮忙吗?
您不能 close()
Cursor
正在被 CursorAdapter
使用。请:
在后台线程上打开数据库一次
运行 您在后台线程上的查询,也许是打开数据库的同一线程
完成
CursorAdapter
后关闭光标,例如 activity 的onDestroy()
或托管 [=15= 的片段]关闭数据库,如果可行的话,当你用完数据库时(根据定义,这是在你用完从数据库中得到的
Cursor
之后的某个时间)