我有一个基于ListView的小部件运行良好,它依赖于JSON Web服务调用来填充自己。我有一个很好的刷新按钮,并强制从网络重新加载。我通过使用自定义广播来执行此操作,然后调用onDataSetChanged(),然后按顺序调用updateAppWidget()。我发现当Android自动更新窗口小部件时(基于设置我的XML定义的时间间隔),似乎只调用了updateAppWidget(),并且我的onDataSetChanged()函数从不运行,导致更新的时间戳(我在每个updateAppWidget()调用中更新,但是过时的数据。
如何强制Android以给定的间隔调用或触发onDataSetChanged()?
答案 0 :(得分:9)
原来我需要在AppWidgetManager.notifyAppWidgetViewDataChanged(widgetId, view)
方法中调用AppWidgetProvider.onUpdate()
。