参考AndroidX-KTX
中的lifecycleScope
,将CoroutineScope
绑定到View
的attachToWindow
~ detachedFromWindow
期间范围。
Rxjava版本请查看:https://github.com/liu-wanshun/AndroidDisposable
- 添加
jitpack
仓库
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation "com.github.liu-wanshun:view-attach-window-coroutine-scope:Tag"
}
val view: View = findViewById<View>(R.id.test)
// 注意:
// 仅在attachToWindow ~ detachedFromWindow 范围期间获取的attachWindowScope可以执行
// 在onDetachedFromWindow后cancel
view.attachWindowScope.launch {
}
// 实际常在自定义View内部使用,一般不在View外部使用