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