代码之家  ›  专栏  ›  技术社区  ›  Justin

AppWidget中的ProgressBar

  •  7
  • Justin  · 技术社区  · 16 年前

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

    我没有问题让ProgressBar在我的App小部件中显示,但问题是我希望它只在后台处理发生时显示为对用户的视觉反馈。

    在ImageViews上,我通过RemoteViews.setViewVisibility()完成这项操作,一切正常。然而,ProgressBar出现了一个异常,ProgressBar不能使用这个方法。

    2 回复  |  直到 16 年前
        1
  •  17
  •   Aviv Reznik    15 年前

    一个更简单的想法是,将进度条放在某个容器(比如线性布局)中,并显示/隐藏容器。

        2
  •  12
  •   CommonsWare    16 年前

    可能是虫子。有一个特别的注解( @RemotableViewMethod )您需要在Android本身的Java源代码中标记一个方法通过 RemoteViews . View setVisibility() 但是 ProgressBar 重写该方法,并且在其自己的版本中没有注释。如果 @RemotableViewMethod方法 不是继承的,重写“撤消”注释,这将解释您看到的症状。

    一个解决方法是使用两个应用程序小部件布局,并选择一个你想要的(有或没有) )当你创建你的 远程视图

    我会做一个笔记,试图复制这个,如果我看到同样的东西,我会在网站上发布一个问题 Android issue tracker .