Android蜂巢-重新查询已关闭光标
我读了很多关于这个问题的问题,但我找不到解决问题的正确方向,可能是因为我没有找到正确的方法,感到绝望 据我所知,“重新查询已关闭的游标”问题自HoneyComb之后发生,因为Android蜂巢-重新查询已关闭光标,android,sqlite,sqliteopenhelper,android-cursor,android-cursorloader,Android,Sqlite,Sqliteopenhelper,Android Cursor,Android Cursorloader,我读了很多关于这个问题的问题,但我找不到解决问题的正确方向,可能是因为我没有找到正确的方法,感到绝望 据我所知,“重新查询已关闭的游标”问题自HoneyComb之后发生,因为startManagingCursor已被弃用。由于Honeycom我们应该使用与ContentProvider一起工作的CursorLoader(我不使用,也不想使用),并且发现有人编写了一个类来使用CursorLoader,而不使用ContentProvider() 在我的应用程序中,我有一个mySQLiteHelper
startManagingCursor
已被弃用。由于Honeycom我们应该使用与ContentProvider
一起工作的CursorLoader
(我不使用,也不想使用),并且发现有人编写了一个类来使用CursorLoader
,而不使用ContentProvider
()
在我的应用程序中,我有一个mySQLiteHelper类,我有很多方法从SQLite
检索数据,如下所示:
public Cursor listaBeneficios(String id) {
String where = "proposta=?";
String[] whereArgs = {id};
String[] campos = {"pessoa"};
Cursor c = db.query(TABLE_BENEFICIOS, campos, where, whereArgs, null, null, null, null);
if (c.moveToFirst()) {
return c;
} else {
return null;
}
}
在我的活动中
,我可以读取如下数据:
db = new repositorio(MainActivity.this);
Cursor c = db.listaBeneficios(PROPOSTA);
startManagingCursor(c);
address.setText(c.getString(c.getColumnIndex("address")));
db.close();
但我注意到,每当我点击后退按钮并返回活动a时,就会出现臭名昭著的“试图重新查询一个allready关闭的游标”。
我已经准备好停止管理游标并关闭()而不使用startManagingCursor。
这让我快发疯了
是否有使用游标加载程序的简单示例
?
如果我实现了游标加载程序
,我是否能够继续使用上述方法(即上面的listaBeneficios())?
这对我有帮助吗?我如何实现它
感谢任何帮助。游标加载程序无法工作,因为它需要内容URI。但是,您始终可以使用or。这些类的包含如何使用它们的示例。游标加载程序不起作用,因为它需要内容URI。但是,您始终可以使用or。这些类的示例包含如何使用它们的示例。在我的例子中,我使用managedQuery从ContentProvider返回一个游标到我的活动。我只是更改了对getContentResolver()的调用。查询并解决了问题
在Eclipse中执行一个控件H以交换所有需要的更改。在我的例子中,我使用managedQuery从ContentProvider返回一个游标到我的活动。我只是更改了对getContentResolver()的调用。查询并解决了问题
在Eclipse中使用控件H来交换所有需要的更改。
startManagingCursor(c)
被弃用是因为:)lol我知道:)但是我如何解决这个问题呢?我是否能够继续使用我现有的方法使用游标加载程序从sqlite检索数据?如果是,怎么做?最简单的方法是使用无管理游标方法。只需自己打开和关闭光标。否则,请使用您链接的加载程序,并实现加载程序回调,如中所示。请检查以下内容:@Tudor感谢所有这些链接,但我也可以使用谷歌,正如我所说,我已经读了很多关于这方面的内容,我不想使用内容提供商(如果可能)startManagingCursor(c)
被弃用的原因是:)哈哈,我知道:)但我该如何解决这个问题呢?我是否能够继续使用我现有的方法使用游标加载程序从sqlite检索数据?如果是,怎么做?最简单的方法是使用无管理游标方法。只需自己打开和关闭光标。否则,请使用您链接的加载程序,并实现加载程序回调,如中所示。请检查以下内容:@Tudor感谢所有这些链接,但我也可以使用谷歌,正如我所说,我已经读了很多关于这方面的内容,我不想使用内容提供商(如果可能的话)