我在 Android 应用程序中使用 ViewModelFactory 将一些数据从 Fragment 传递到我的 ViewModel。我收到未经检查的演员警告。如果我使用 Supress,警告就会消失。我想知道有没有办法在不使用 Supress("UNCHECKED_CAST") 的情况下处理这个问题
我用来创建 ViewModelFactory 的代码
val factory: ViewModelProvider.Factory = object : ViewModelProvider.Factory {
//factory to pass necessary data to ViewModel
@NonNull
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return activity?.application?.let {
BookReaderViewModel(
it,
"local",//todo:remote or local book. value will come from arguments
1//todo: bookId will come from arguments
)
} as T
}
}
Run Code Online (Sandbox Code Playgroud)
因为 T 收到了警告。