如果我有一个在协程中运行的挂起函数,并且在该函数中我构建了一个 alertDialog,这是否意味着构建器中的所有内容都与我的协程分开运行?如果我从那里的相同范围启动协程,它是否被视为嵌套?
示例代码:
coroutineScope.launch{
foo()
}
suspend fun foo(){
....
AlertDialog.Builder(activity)
.setOnDismissListener {
coroutineScope.launch { foo() }
}.show()
}
第一个作用域是否嵌套了第二个作用域,或者第一个协程是否完成了它的工作?
最佳答案
第一个协程作用域在对话框创建后完成并且其所有子项都被取消,这就是为什么您不能从警报对话框构建器内部启动挂起函数的原因。因此,您要启动的第二个协程不是嵌套的。
关于android - 在 Alert Dialog Builder 中启动协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73500701/