我在应用程序小部件中使用 ProgressBar 时遇到了一个有趣的情况......文档(http://developer.android.com/guide/topics/appwidgets/index.html) 表示 ProgressBar 是受支持的小部件类...

我可以毫无问题地将 ProgressBar 显示在我的应用程序小部件中,但问题是我希望它仅在后台处理发生时作为视觉反馈显示给用户。

在 ImageViews 上,我通过 RemoteViews.setViewVisibility() 执行此操作,一切正常。但是,对于 ProgressBar,我收到一个异常,说 ProgressBar 不能使用此方法。

这是故意的还是错误?有什么办法可以解决这个问题吗?

有帮助吗?

解决方案

这是更简单的想法,是把一些容器内的进度条(比如线性布局)和显示/隐藏在容器上。

其他提示

这可能是一个错误。有一个特别的注释(@RemotableViewMethod)你的Android本身的Java源代码需要标注的方法为通过RemoteViews可用。 View有这样的setVisibility(),但ProgressBar将覆盖方法,并且不会对自己的版本注释。如果@RemotableViewMethod是不会继承以及越权“撤销”的注解,这可以解释你看到的症状。

一个解决方法是使用两个应用程序的窗体,并选择一个你想要的(有或无ProgressBar)当您更新您的应用程序窗口小部件时创建RemoteViews对象。

我会记下,试图复制这种情况,如果我看到了同样的事情,我会在的 Android的问题跟踪器

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