我正在使用CursorLoader来跟踪数据库中的数据。可以使用
删除此数据库Context.deleteDatabase(databaseName);
删除后,我用
重新启动加载程序getLoaderManager().restartLoader(LOADER_ID, null, this);
现在我收到回电
onLoadFinished(Loader<Cursor> loader, Cursor data)
它并不反映数据已消失。我得到的数据和以前一样。
我做的事情在概念上是错误的吗?
答案 0 :(得分:2)
LoaderManager正在尝试智能并重新使用加载器。这是一个解决不同加载程序错误的解决方法,但我认为它适用于此:
Loader<Object> loader = getLoaderManager().getLoader(0);
if (loader != null && ! loader.isReset()) {
getLoaderManager().restartLoader(0, null, mItemsListener);
} else {
getLoaderManager().initLoader(0, null, mItemsListener);
}