Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LoaderManager.onLoadFinished即使在特定查询没有';与更新不匹配_Android_Android Contentprovider_Android Loadermanager - Fatal编程技术网

Android LoaderManager.onLoadFinished即使在特定查询没有';与更新不匹配

Android LoaderManager.onLoadFinished即使在特定查询没有';与更新不匹配,android,android-contentprovider,android-loadermanager,Android,Android Contentprovider,Android Loadermanager,我有一个Android应用程序,它有一个我经常更新的内容提供商。要加载所述数据的列表,我使用LoaderManager 在“详细信息”页面上,我还使用LoaderManager,但我创建了如下游标装载器: return new CursorLoader(getActivity(), DataProvider.POST_URI, projection, "_id = ?", new String[]{String.valueOf(post_id)}, null); 如你所见,我只从表中得到一项。

我有一个Android应用程序,它有一个我经常更新的内容提供商。要加载所述数据的列表,我使用LoaderManager

在“详细信息”页面上,我还使用LoaderManager,但我创建了如下游标装载器:

return new CursorLoader(getActivity(), DataProvider.POST_URI, projection, "_id = ?", new String[]{String.valueOf(post_id)}, null);
如你所见,我只从表中得到一项。当更新行时,
onLoadFinished
回调将更新,但是,当其他行添加/修改到表中时,也会更新。这不会太麻烦,但有时会导致整个列表变为空白并重新绘制,这可能会让用户在多次出现时感到沮丧


您知道如何避免这种行为吗?

正在进行重新加载,因为您正在将此游标加载程序与
数据提供程序.POST\u URI
关联,我假定它是您用于posts表的URI。每当此表中的任何元素发生更改时,将通知具有该
Uri
的所有游标。如果您希望接收单个项目的通知,则应实现一个新的
Uri
方案,以仅匹配该项目。请查看该类的文档以获取示例。您应该执行类似于
人员
人员ID
案例的操作

编辑

您可以在
ContentProvider
上找到一个很好的教程。特别是第9.4节应该有助于正确实施
内容提供者