如果我有一个在协程中运行的挂起函数,并且在该函数中构建了一个lartDialog,这是否意味着构建器中的所有内容都独立于协程运行?如果我从相同的作用域启动一个协程,它是否被认为是嵌套的?

示例代码:

    coroutineScope.launch{
        foo()
    }
    suspend fun foo(){
        ....
        AlertDialog.Builder(activity)
            .setOnDismissListener {
                coroutineScope.launch { foo() }
            }.show()
    }

第一个作用域是否嵌套了第二个作用域,或者第一个协程完成了它的工作?

推荐答案

创建对话框并取消其所有子对话框后,第一个协程作用域结束,这就是为什么不能从alert 对话框构建器内部启动暂停功能的原因.因此,您要启动的第二个协程不是嵌套的.

Android相关问答推荐

如何在Android Room中使用@Relation多对一查询

如何在点击按钮时将字符串插入到文本字段中的光标位置?

如何在Android中使用TextView设置动态文本的样式

如何使禁用状态下的material 3按钮与启用状态下的 colored颜色 相同?

Android Jetpack Compose Material3主题配色方案

Android 14无法删除已配置的文件

Jetpack编写使用自定义主题覆盖库中主题部分

Android,从C++调用的铁 rust 库缺少符号

StateFlow集合AsState没有更新他的值Jetpack Compose导航

在以XML格式设置完整屏幕视图时可见App Compat按钮

如果我的圆形图像的顶部居中于卡片内部,我如何在其下方画一条弧线?

如何使用 Wea​​r OS 上的运行状况服务模拟位置?

Android 应用程序从 Android Studio 安装,但不是作为 .apk 在外部安装.抛出java.lang.UnsatisfiedLinkError

如何将一个 Composable 作为其参数传递给另一个 Composable 并在 Jetpack Compose 中显示/运行它

Jetpack Compose Arc 进度条动画(如何重启动画)

我的 react native 项目的发布签名 apk 没有在设备中打开,而且它创建的尺寸非常小

删除一对多关系室 Kotlin 中的所有值

复用 RecyclerView 适配器,避免不必要的 API 调用

Jetpack Compose Material3 - switch 标签

Xamarin 获取动态 ListView DataTemplate 中的按钮单击事件数据