我正在创建一个Composable,它负责向用户显示通知.每次用户转到这Composable个,我都想执行一个将清除通知计数的查询.我只想在Composable出现时执行该查询,而不是每次由于配置更改或其他原因而重新组合Composable.

从本质上讲,我正在寻找一个相当于https://developer.apple.com/documentation/swiftui/view/onappear(perform:)的数字.

有什么方法可以在Jetpack Compose中使用吗?

推荐答案

使用已启动的效果(link)

LaunchedEffect(Unit) {
    // Actions to perform when LaunchedEffect enters the Composition 
}

它接受一个或多个用于取消运行效果并开始新运行效果的key个参数.因为您只需要执行一次代码,所以使用一些不变的东西作为键,比如Unittrue.

Android相关问答推荐

derivedStateOf与使用key和MutableState记住

在Android Studio Iguana上运行示例代码时,Gradle Build错误

如何使用Jetpack Compose使水平pager 显示离屏页面?

RemoteActivityHelper.startRemoteActivity不适用于Android Wear OS 4模拟器

使用Kotlin/Compose与Java/XML指南的比较

如何在Android Studio的LinearLayout中禁用阴影

使用RecycleView和Diffutils时从列表中删除项目时出现问题

Modifer.Align()不适用于行/列/框中的文本.未解决的作用域实例错误

如何在Jetpack Compose android中使用导航

如何在DownloadManager Android中显示ProgressBar和Complete Listener

返回并再次打开webview时webview无法打开相机

SDK 33 的问题 - 面向 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

Jetpack Compose X.dp 性能问题?

弹出导航堆栈后,Compose 无法访问 Hilt View Model

为什么我的 APK 中包含来自旧版 Android 支持库的类?

Android Studio XML 文本在 ConstraintLayout 中不居中

未找到 com.android.tools.build:gradle:7.4.0 的匹配变体

如何解决 compose 中material 图标的由于接收器类型不匹配,以下候选者都不适用

不能在kotlin的lazycolumn中使用列表

如何删除 Ktor 客户端 2.0.0 的默认标头