【发布时间】:2011-02-14 18:13:18
【问题描述】:
我的小部件目前有问题。我使用的是 Droid 2 手机,当我打开键盘时,屏幕会旋转,我的小部件从不调用 onUpdate() 函数调用。
为了调试问题,我重写了 onReceive() 并注意到屏幕旋转后我得到了意图操作:
com.motorola.blur.home.ACTION_WIDGET_ADDED
屏幕旋转后,TextViews 会丢失其内容,因此我需要能够在旋转后设置文本。我通常在 onUpdate() 调用中设置文本。
有人知道为什么会出现这个问题吗?我确定我做错了什么......
谢谢,
-乔纳
【问题讨论】:
-
您遇到了哪些具体问题?当方向改变时,小部件会旋转吗?如果主应用程序正在维护一个包含小部件内容的位图,并且它的几何形状在屏幕旋转期间没有改变,那么没有理由通过强制更新来浪费 CPU 周期。
-
问题不在于实际的 UI。问题是屏幕旋转后,TextViews 被重置,所以我需要更新文本。
-
您是否尝试过在手机或模拟器中的股票启动器下运行您的小部件?我没有看到股票主页应用程序或 HTC Sense 的这种行为,并且当方向改变时存在特定于模糊的广播让我觉得摩托罗拉正在通过删除和重新添加小部件来处理它。 (这让我想知道当小部件有配置活动时它们会做什么。)
-
这个贴子也有关系(有点):stackoverflow.com/questions/7766779/…