我的app小部件可以在多种模式下运行.对于这些模式中的每一种,我创建了一个RemoteViewsFactory.要在模式之间切换,我向我发送一个意图AppWidgetProvider.一旦接收到它,我创建RemoteViews并把它传递到AppWidgetManager的updateAppWidget().要设置RemoteViewsFactory集合视图,我调用RemoteViews' setRemoteAdapter():
rv.setRemoteAdapter(appWidgetId, R.id.widget_view_flipper, intent);
Run Code Online (Sandbox Code Playgroud)
R.id.widget_view_flipper是集合视图,intent用于RemoteViewsService构建适当的工厂.
编辑:我编辑了这个问题,因为我找出了最初描述的问题.现在,当我更换工厂时,getViewAt()新工厂的更改后会调用,但集合视图中的元素根本不会更新!怎么会发生这种情况?
现在我唯一想到的就是我可以在工厂更换后调用AppWidgetManager的notifyAppWidgetViewDataChanged,它会导致视图中的元素以丑陋的闪烁进行更新.
我在QML项目中定义自定义属性时遇到问题:
Item {
property MovieTileItem data
Text {
text: "Some text"
}
}
Run Code Online (Sandbox Code Playgroud)
MovieTitleItem是在单独的QML文件中定义的Item:
import Qt 4.7
Item {
property string title
property string posterSource
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"无法将对象分配给属性"指向属性声明.有任何想法吗?
我正在将我的应用程序窗口小部件中的ListView更改为AdapterViewFlipper.问题是,我需要处理项目上的点击.它完美地将setPendingIntentTemplate()的待定意图模板设置到整个ListView,并使用setOnClickFillInIntent()为每个项设置fillInIntent.但现在,使用AdapterViewFlipper,它不再起作用了.我错过了什么吗?