Content Resolver SQLite运行后刷新数据
Content Resolver SQLite refresh data after operation
我的问题是我执行了内容解析器操作 (CRUD),我的本地 Sqlite 数据库得到了更改,但它们没有 show/refresh 我的 TEXTVIEW 中的那些更改,在这里我不是在谈论刷新listview/recyclerview 带有适配器,例如这里 100% 的问题我只是在谈论一个简单的文本视图,它从本地数据库获取信息,所以在这里我没有使用适配器或回收器视图(还没有)。
我试过:
在新的内容解析器操作后使用数据库帮助器构造函数,但它不起作用。
在内容提供程序操作后使用 close()。
cResolver.notifyChange() 在应用了一批操作之后。
我尝试使用 LoaderManager,但它似乎只对带有 swapcursor 的适配器有用。
我怎么知道我的 CRUD 操作正在运行?如果我重新启动我的应用程序,更改就在那里。任何在正确方向上的帮助将不胜感激。
对您的数据库所做的任何更改只会反映在您的数据库中。如果您需要在更改后更新文本视图,则需要处理已进行的更改并更新您的视图。
在将视图和数据保存到数据库后更新视图和数据的替代方法是使用 LiveData 或任何可观察对象。
我的问题是我执行了内容解析器操作 (CRUD),我的本地 Sqlite 数据库得到了更改,但它们没有 show/refresh 我的 TEXTVIEW 中的那些更改,在这里我不是在谈论刷新listview/recyclerview 带有适配器,例如这里 100% 的问题我只是在谈论一个简单的文本视图,它从本地数据库获取信息,所以在这里我没有使用适配器或回收器视图(还没有)。 我试过:
在新的内容解析器操作后使用数据库帮助器构造函数,但它不起作用。
在内容提供程序操作后使用 close()。
cResolver.notifyChange() 在应用了一批操作之后。
我尝试使用 LoaderManager,但它似乎只对带有 swapcursor 的适配器有用。
我怎么知道我的 CRUD 操作正在运行?如果我重新启动我的应用程序,更改就在那里。任何在正确方向上的帮助将不胜感激。
对您的数据库所做的任何更改只会反映在您的数据库中。如果您需要在更改后更新文本视图,则需要处理已进行的更改并更新您的视图。 在将视图和数据保存到数据库后更新视图和数据的替代方法是使用 LiveData 或任何可观察对象。