簡體   English   中英

智能轉換為“CLASS”是不可能的,因為“VARIABLE”是一個可變屬性,此時可能已更改

[英]Smart cast to ‘CLASS!’ is impossible, because ‘VARIABLE’ is a mutable property that could have been changed by this time

所以我最近開始學習 Kotlin,我正在學習 Java 語言的 Android Studio 教程。 我最終使用 Android Studio 將 Java 文件轉換為 Kotlin。

Kotlin 代碼片段:Kotlin 代碼片段

編譯錯誤:編譯錯誤

我該如何解決這個錯誤?

我建議您在帖子本身中發布代碼。 來到錯誤。 讓我們看看你的代碼。 您有各種屬性分配給 null 像這樣。 讓我們考慮其中之一。

var splashImg: ImageView? = null

您收到的錯誤暗示由於這是一個可為空的屬性,因此無法保證當您嘗試訪問它時仍然是ImageView而不僅僅是null.

答案很簡單,就是添加 null 檢查它們。 對於那個 kotlin 有一個名為?.

因此,當您嘗試訪問該屬性時,請按如下方式訪問它。 這確保它僅在不是 null 時才訪問它。 你也可以放一個普通的if-else

splashImg?.animate()...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM