# Interval

open class Interval(end: Long, period: Long, unit: TimeUnit, start: Long, initialDelay: Long) : Serializable, Closeable
Content copied to clipboard

创建一个会自动结束的轮询器

操作

1. 开启 start 只有在闲置状态下才可以开始

2. 停止 stop

3. 暂停 pause

4. 继续 resume

5. 重置 reset 重置不会导致轮询器停止

6. 开关 switch 开启|暂停切换

7. 生命周期 life

函数回调: 允许多次订阅同一个轮询器

1. 每个事件 subscribe

2. 停止或者结束 finish

## Parameters

end

结束值, -1 表示永远不结束

period

计时器间隔

unit

计时器单位

initialDelay

第一次事件的间隔时间, 默认0

start

开始值, 当start]比end值大, 且end不等于-1时, 即为倒计时, 反之正计时

## Constructors

Interval
Link copied to clipboard
fun Interval(period: Long, unit: TimeUnit, initialDelay: Long = 0)
Content copied to clipboard
创建一个不会自动结束的轮询器/计时器
Interval
Link copied to clipboard
fun Interval(end: Long, period: Long, unit: TimeUnit, start: Long = 0, initialDelay: Long = 0)
Content copied to clipboard
结束值, -1 表示永远不结束

## Functions

cancel
Link copied to clipboard
fun cancel()
Content copied to clipboard
取消 区别于stop并不会执行finish
close
Link copied to clipboard
open override fun close()
Content copied to clipboard
等于cancel
finish
Link copied to clipboard
fun finish(block: Interval.(Long) -> Unit): Interval
Content copied to clipboard
轮询器完成时回调该函数
life
Link copied to clipboard
fun life(fragment: Fragment): Interval
Content copied to clipboard
自动在指定生命周期后取消cancel轮询器 销毁生命周期为Lifecycle.Event.ON_STOP.
fun life(activity: FragmentActivity): Interval
Content copied to clipboard
自动在指定生命周期后取消cancel轮询器 销毁生命周期为Lifecycle.Event.ON_DESTROY
fun life(lifecycleOwner: LifecycleOwner, lifeEvent: Lifecycle.Event = Lifecycle.Event.ON_STOP): Interval
Content copied to clipboard
自动在指定生命周期后取消cancel轮询器
onlyResumed
Link copied to clipboard
fun onlyResumed(lifecycleOwner: LifecycleOwner): Interval
Content copied to clipboard
当界面不可见时暂停pause, 当界面可见时继续resume.
pause
Link copied to clipboard
fun pause()
Content copied to clipboard
暂停
reset
Link copied to clipboard
fun reset()
Content copied to clipboard
重置
resume
Link copied to clipboard
fun resume()
Content copied to clipboard
继续 要求轮询器为暂停状态IntervalStatus.STATE_PAUSE, 否则无效
start
Link copied to clipboard
fun start(): Interval
Content copied to clipboard
开始 如果当前为暂停状态将重新开始轮询
stop
Link copied to clipboard
fun stop()
Content copied to clipboard
停止
subscribe
Link copied to clipboard
fun subscribe(block: Interval.(Long) -> Unit): Interval
Content copied to clipboard
订阅轮询器 每次轮询器计时都会调用该回调函数 轮询器完成时会同时触发回调block和finish
switch
Link copied to clipboard
fun switch()
Content copied to clipboard
切换轮询器开始或结束 假设轮询器为暂停IntervalStatus.STATE_PAUSE状态将继续运行resume

## Properties

count
Link copied to clipboard
var count: Long
Content copied to clipboard
轮询器的计数
end
Link copied to clipboard
var end: Long
Content copied to clipboard
结束值, -1 表示永远不结束
state
Link copied to clipboard
var state: IntervalStatus
Content copied to clipboard
轮询器当前状态

## Extensions

life
Link copied to clipboard
fun Interval.life(viewModel: ViewModel): Interval
Content copied to clipboard
轮询器根据ViewModel生命周期自动取消