我的小部件有一个列表视图,通过" updatePeriodMillis"自动更新其他所有内容。在xml中。我有多个小部件,我通过迭代小部件ID在onUpdate中更新:
for(final int currID: appWidgetIds) {
final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_my);
appWidgetManager.notifyAppWidgetViewDataChanged(currID, R.id.widgetLV);
....network calls, setting the adapter...
appWidetManager.updateAppWidget(currID, views);
}
我注意到listview连续更新的成功取决于我放置notifyAppWidgetViewDataChanged的位置。文档说它调用了适配器的onDataSetChanged()回调,在那里我进行网络调用,生成列表视图填充的项目。那么为什么它会依赖于我的循环中我称之为的内容,只要为每个小部件ID调用它?把它放在我的循环中的最佳位置在哪里?