在我的 Android 作業室專案中,我有一個如下構造:
@Stable
interface Levels {
@Immutable
sealed class LevelData {
object Empty : LevelData()
@Immutable
data class L1(
val locationData: Locations.LocationData.StageL1
) : LevelData()
}
}
在另一個類中,我有val levelData = mutableStateOf<Levels.LevelData>(Levels.LevelData.Empty)
以 Empty 作為默認值的變數。然后狀態發生變化,我想訪問locationData
in levelData
likelevelData.value.locationData
嗎?
Android Studio 中的自動完成功能沒有locationData
在下拉選單中顯示任何成員訪問權限?!?
uj5u.com熱心網友回復:
你的levelData
變數持有可變的超型別狀態Levels.LevelData
。您需要將物件轉換為 L1 才能訪問locationData
val value = levelData.value
if(value is Levels.LevelData.L1){
val locationData = value.locationData
//perform action on locationData
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461046.html
下一篇:如何通過撰寫處理剪切區域?