gpt4 book ai didi

android - 指向内容提供者中的加入查询的游标加载器未更新列表

转载 作者:太空狗 更新时间:2023-10-29 14:11:44 25 4
gpt4 key购买 nike

我有多个游标加载器设置为指向我的内容提供程序中的不同 URI,它们可以正常工作。每个加载器都用于我数据库中的一个特定表。

不过,我现在已经在我的内容提供程序中创建了一个新的 URI 来对我的表执行连接查询。我创建了一个新的加载器,它指向要用于执行连接查询的 URI,但加载器不会更新 UI。

如果我关闭应用程序然后再打开它,则会出现新数据,但在一个 Activity 中插入新数据然后返回到我的主要 Activity 后,数据没有更新。尽管数据库中插入了新数据,但加载器并未被调用。

我正在调用 cursor.setNotificationUri(getContext().getContentResolver(), uri);对于我的新加入 URI。

这不起作用有什么特别的原因吗?就像我说的那样,加载器可以很好地用于单个表的标准查询,但具有连接查询的加载器则不行。

加载程序是否只能监听正在更新的单个表,因此为什么它不能监听连接?

编辑:

有关工作流的更多信息...

Activity 1 使用单独表的连接查询读取数据并显示到 UIActivity 2 将数据插入单独的表到数据库

Activity 1 启动 Activity 2,Activity 2 在插入数据后结束

Activity 1 有一个加载程序来更新 UI。从单个表中读取的加载程序工作正常,但在更新数据时不会调用从连接查询中读取的加载程序。它仅在创建 Activity 时调用。

最佳答案

我知道很久以前有人问过这个问题,但希望它能帮助其他遇到同样问题的人......我有完全相同的问题

在您的 Content Provider 类的 Query 方法中,在您设置通知 Uri 之前。确保更新和删除 URI 与查询 URI 相同。

uri = Uri.parse("content://com.casselsinthecloud.cloudbeats.provider/playlist_contents");

然后用新的 Uri 调用 setNotificationUri(...)..

cursor.setNotificationUri(getContext().getContentResolver(), uri);

这将确保 CursorLoader 动态更新..

关于android - 指向内容提供者中的加入查询的游标加载器未更新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com