当我将一些值插入窗口小部件数据库时,窗口小部件不会更新

时间:2017-02-07 06:00:59

标签: android listview widget

我为我的应用创建了一个小部件,它将显示浏览器历史记录。

当用户开始浏览时,URL将被记录在Widget的数据库中。但它不与小部件同步。它没有反映在小部件列表视图中。

我已按照以下链接使用list-view创建小部件。

https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget

我已经看到了一些堆栈溢出Q / A.它说,为避免编码错误,每隔30分钟就会发生同步。但是如果你看到whats-app的小部件,每当whats-app收到消息时小部件都会更新。

任何人都可以帮助我在每次将新值添加到数据库时同步小部件,或者请告诉我为什么我们无法同步小部件,但是什么是应用程序可以。

1 个答案:

答案 0 :(得分:1)

我建议您阅读此文档。我使用它来根据数据库(firebase)中的更改来更新我的小部件。有一种称为onDataSetChanged()的方法,该方法将根据数据库中的任何更改由notifyAppWidgetViewDataChanged()触发。 https://developer.android.com/guide/topics/appwidgets/#fresh

下面是从上述文档中复制的信息片段。

  

下图说明了应用小部件中发生的流程   当更新发生时使用集合。它显示了应用程序小部件   代码与RemoteViewsFactory交互,以及如何触发   更新:

enter image description here