如何在不重建所有 RemoteView 的情况下部分更新应用小部件中的视图
Posted
技术标签:
【中文标题】如何在不重建所有 RemoteView 的情况下部分更新应用小部件中的视图【英文标题】:How to partially update views in an app widget without rebuilding all the RemoteViews 【发布时间】:2012-08-02 05:54:56 【问题描述】:我正在实现一个应用小部件,我希望能够更改小部件布局中单个视图的属性,而无需从头开始重建所有 RemoteViews
,这涉及加载 XML 等,而这不是在某些情况下是必要的.. 有没有办法说“在当前小部件布局中由特定 ID 标识的视图上更新属性 X”?我已经看到partiallyUpdateAppWidget
类中有一个partiallyUpdateAppWidget
方法,但我不明白,也不能理解它是否是为此目的,也不能使用它。你能帮我或指出一个有用的方法吗?链接或示例?
【问题讨论】:
【参考方案1】:是的,您可以在AppWidgetManager
类中使用partiallyUpdateAppWidge
t 方法。
例如,如果要更新小部件内的文本视图:
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
rv = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
rv.setTextViewText(R.id.ofTextViewInWidgetLayoutXML, "Hello World");
appWidgetManager.partiallyUpdateAppWidget(appWidgetIds, rv);
参考: Just update a widget RemoteViews instead of completly creating a new one?
【讨论】:
以上是关于如何在不重建所有 RemoteView 的情况下部分更新应用小部件中的视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 +150k 静态页面重建应用的情况下添加新页面?
React Native XCode 项目在不更改任何内容的情况下重建
在不丢失 ElasticIP 的情况下重建 Elastic Beanstalk 环境