我们在这里遇到了Honeycomb的ActionBar的一个非常痛苦的问题,我想知道是否还有其他人找到了解决方案。问题本身很简单:

由于我们的大多数屏幕必须显示从Web服务加载的数据,所以我们经常在Activity的genericododicetagcode或onCreate中触发后台任务。在这些任务运行时,我们将显示ActionBar的刷新微调器并为其设置动画。问题是:onGene和onResume在onResume之前执行,因此在我们开始执行任务时,刷新微调框甚至不存在。因此,它不会动画。

我没有发现任何简单的解决方法。我想我们可以将有关正在生成的任务的信息保留在onCreate中,并且一旦ActionBar可用,就相应地对其进行更新。但是,我仍然无法相信用例如此难用ActionBar吗?

有帮助吗?

解决方案

因此,我尝试使用问题中概述的invalidateOptionsMenu“>如何更新ActionBar中显示的菜单项?,但是没有任何效果。

我最终使用一个简单的布尔标志跟踪对操作栏的未决更新。每当有呼叫要刷新其状态时,我都会设置该标志,然后在创建栏并执行任何挂起的更新后对其进行检查和重置。效果很好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top