[英]Why is rememberSaveable variable flagged as unused by Android Studio Arctic Fox?
Android Studio 北極狐(補丁 3)標記,“分配給var isVisited: Boolean
的值為true
var isVisited: Boolean
以下可組合中的var isVisited: Boolean
從未使用過”:
@Composable
fun MainView(navController: NavController) {
var isVisited by rememberSaveable { mutableStateOf(false) }
if (!isVisited) {
isVisited = true // never used?
navController.navigate("NextView")
}
Button(onClick = { navController.navigate("NextView") }) {
Text(text = "MainView")
}
}
而它顯然是阻止MainView
從導航到NextView
到隨后的訪問MainView
。 這是NextView
的定義:
@Composable
fun NextView(navController: NavController) {
Button(onClick = { navController.popBackStack() }) {
Text(text = "NextView")
}
}
Android Studio 是否根本無法識別跨重組的變量使用情況? 或者是否有更慣用的方式在可組合中有條件地執行代碼? 感謝您的任何答案或指針。
我正在使用 Kotlin 1.5.31、Compose 1.1.0-alpha06、navigation-compose 2.4.0-alpha04、lifecycle-runtime-ktx 2.4.0-rc01 為 API 級別 31 構建,盡管我已經看到了相同的行為API 級別 30、Kotlin 1.5.21、Compose 1.0.1、navigation-compose 2.4.0-alpha04、lifecycle-runtime-ktx 2.3.1。 (如果有幫助,我很樂意分享我的MainActivity
,在那里我使用這兩個視圖或其他依賴項和系統信息設置NavHost
。)
別擔心,它有時會發生。 對我來說似乎沒有錯誤,只需嘗試刪除該行,然后在使用盡可能多的代碼補全的同時重新添加它。 如果這沒有幫助,只需編譯項目,然后查看構建日志。 如果它沒有顯示警告: var 'isVisited' is never used
,那么您可以放松一下,因為它會成為工作室代碼熒光筆中的錯誤。 只要您沒有收到任何構建時間警告,請確保它不會對性能或其他方面構成任何威脅。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.