我的应用小部件以多种模式运行。对于这些模式中的每一种,我都创建了一个RemoteViewsFactory
. 为了在模式之间切换,我向我的AppWidgetProvider
. 收到后,我创建了'sRemoteViews
并将其传递给AppWidgetManager
's updateAppWidget()
。要RemoteViewsFactory
为集合视图设置 a,我调用RemoteViews
' setRemoteAdapter()
:
rv.setRemoteAdapter(appWidgetId, R.id.widget_view_flipper, intent);
R.id.widget_view_flipper
是集合视图,intent
是为了RemoteViewsService
构建合适的工厂。
编辑:我编辑了这个问题,因为我发现了最初描述的问题。现在是当我更改工厂时,更改getViewAt()
后会调用新工厂,但集合视图中的元素根本不会更新!那怎么会发生?
现在我唯一想到的是,我可以在工厂更换后延迟调用 AppWidgetManager 的 notifyAppWidgetViewDataChanged,它会导致视图中的元素更新为丑陋的闪烁。