当前位置: 首页 > 知识库问答 >
问题:

用RxJava更新进度条

高胜
2023-03-14

我在Android上用RxJava更新ProgressBar的进度有问题我想在延迟500毫秒后更新1%(从0%-

下面是我的代码:

Observable.range(0,50)
    .subscribeOn(Schedulers.computation())
    .delay(1000, TimeUnit.MILLISECONDS)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(integer -> mProgressBar.setProgress(integer));

共有1个答案

那昊
2023-03-14

延迟在时间上移动整个序列;后续项之间的相对时间保持不变。您是否考虑过使用intervalRange()

Observable.intervalRange(0L, 50L, 10, 10, TimeUnit.MILLISECONDS,
        AndroidSchedulers.mainThread())
    .subscribe(v -> mProgressBar.setProgress(v.intValue()));

1。x、 您可以将其映射为计时器:

 Observable.range(0, 50)
 .concatMap(v -> 
     Observable.timer(
         10, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread()
     )
     .map(w -> v)
 )
 .subscribe(v -> mProgressBar.setProgress(v.intValue()));
 类似资料:
  • 我的kivy应用程序中有一个ProgressBar。我相信我需要使用,以确保从循环内部更新进度条。 以下代码是用于再现性目的的淡化版本。 ProgressBar类 主要类别: KV文件 此示例显示loading_pb.value按钮单击后代码循环时发生的变化。 进步吧。价值印刷输出 问题进度条的值似乎确实如预期的那样递增,但实际进度条直到循环结束时才立即改变。 相关的 无法更新kivy进度条 ki

  • 问题内容: 我正在尝试制作一个可以帮助我评估从Web资源下载文件的时间的应用程序。我发现了2个样本: 使用Android下载文件,并在ProgressDialog中显示进度 和 http://www.helloandroid.com/tutorials/how-download-fileimage-url- 您的设备 第二个示例显示了较小的下载时间,但是我不明白如何使用它来更新进度对话框。我认为在

  • 问题内容: 基本上,我正在为外部登录系统执行AJAX请求,如何根据请求的长度来更新进度栏? 例如,请求需要 1.30s 至 1.40s的时间 才能完成,我如何根据特定的间隔更新进度条,例如每10ms进行10%的更新,等等,这是进度条的HTML布局 使用属性确定进度条的长度 想法是基本上让它看起来像是基于请求进行更新,因此当请求完成时,百分比栏已满 问题答案: 我认为这篇文章非常清楚 http://

  • 问题内容: 我想让我的用户了解I / O操作的进度。目前,我有一个内部类,在开始I / O之前要开始学习,在完成后停止。看起来像这样: 是我对UI的引用,是我的外部类中的一个字段,表示我们在I / O中取得的进步。我将停止时的进度设置为100%,因为有时I / O完成并停止我的更新程序,然后它才能完成更新以前的增量。那只是确保它是100%。 目前,这可行,我像这样使用它: 问题在于循环严重地吞噬了

  • 我有一个通过互联网下载文件的应用程序。应用程序开始下载,但不知道如何显示进度条。以下适配器类: 以下是下载文件的类: 现在我卡住了如何更新进度条!任何想法

  • 问题内容: 我的应用程序中出现JavaFX(jdk 1.8.0_91)上的一个讨厌的错误,该错误中显示并更新了几个进度条(随机或同时显示)。有时,尤其是在填充进度条时(它具有进度条的样式类),但有时甚至一无所获,软件块和该跟踪出现了几次(并非总是相同的数字,而是最后一次)一次是27次): 然后在这27条痕迹之后跟随着大量的此消息: 线程“ JavaFX应用程序线程”中的异常java.lang.Ar