Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在片段和后台运行倒计时_Java_Android_Countdowntimer - Fatal编程技术网

Java 在片段和后台运行倒计时

Java 在片段和后台运行倒计时,java,android,countdowntimer,Java,Android,Countdowntimer,我试图在片段中运行倒计时。我已经能够做到这一点,但我似乎无法在后台运行它。我该怎么做?使用服务需要onStart和onStop,但这些方法不适用于片段。我该怎么办 在这种情况下,仅当UI可见时才需要倒计时,例如,可以使用RxJava Disposable timer = Observable.interval(1, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread())

我试图在片段中运行倒计时。我已经能够做到这一点,但我似乎无法在后台运行它。我该怎么做?使用服务需要onStart和onStop,但这些方法不适用于片段。我该怎么办

在这种情况下,仅当UI可见时才需要倒计时,例如,可以使用RxJava

Disposable timer = Observable.interval(1, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.computation())
                .subscribe(aLong -> {
                    // tick;
                });
当计时器不再使用时,不要忘了处理

if (timer.isDisposed()) timer.dispose();
或者您可以使用
Observable.intervalRange(…)
触发特定事件的次数


或者查看本主题以详细了解
线程
的实现。

看看这个答案应该有几个例子:我需要的不是它计时器应该在后台运行,即使应用程序关闭或被破坏。这不是我问题的答案