gpt4 book ai didi

android - 手动删除数据库时如何强制内容提供者重置

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:56 27 4
gpt4 key购买 nike

在我的应用程序中,我有一个 ContentProvider 附加到数据库中的一个表,其中一个 CursorLoader 在我的一个 Activity 中填充了一个 ListView。默认情况下,该表填充为空,并填充用户输入数据。我想允许用户完全删除他们所有存储的数据,并且在选择此选项时我将删除整个数据库。然后,当用户再次开始使用该应用程序时,数据库将以默认状态重新创建,就像他们第一次使用该应用程序时一样。

我的问题是当我删除数据库时,ContentProvider 没有检测到数据库已被删除,当我返回到我的 ListView Activity 时,列表仍然存在。我还让应用程序完全重新加载 ListView Activity ,而不是仅仅从内存中恢复,即使数据库为空,列表仍然存在。让 ContentProvider 重新加载的唯一方法是在系统设置中终止该应用程序,然后再次打开它。

有没有办法强制重启 ContentProvider 或告诉它数据已从 ContentProvider 类本身外部更新?

最佳答案

您也可以不定义选择而直接使用内容提供者的删除方法:

context.getContentResolver().delete(YourProvider.CONTENT_URI, null, null);

关于android - 手动删除数据库时如何强制内容提供者重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16113783/

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