2013-01-23 81 views
1

我正在使用一个应用程序,并且我想定期更新这个窗口小部件。我已经设置android:updatePeriodMillis =“3600000”,但我的ListView不会更新。我错过了什么?Android更新窗口小部件ListView

回答

2

你可以请检查你的onUpdate(...)函数是否接到呼叫。如果onUpdate()在更新周期后被调用,则需要为ListView的适配器调用notifyAppWidgetViewDataChanged();为了更新它。

AppWidgetManager mgr = AppWidgetManager.getInstance(context); 
int[] ids = mgr.getAppWidgetIds(new ComponentName(context, AppWidgetProvider.class)); 
mgr.notifyAppWidgetViewDataChanged(yourWidgetId, R.id.list_view); 
+0

小工具查看factorys不使用适配器,至少我的没有。你如何获得这个适配器对象? – SweSnow

+0

如果你的ListView很脏(List中有一些变化),那么你可以调用ListView的invalidate()来强制重绘。 –

+1

我很确定你在谈论我知道如何处理的常规ListViews。我在有没有ListView对象使用的小部件中询问ListView。 – SweSnow

相关问题