小编miq*_*717的帖子

有没有办法在不使用 Kotlin 中的 Supress 的情况下处理未经检查的强制转换警告?

我在 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 收到了警告。

android kotlin unchecked-cast

8
推荐指数
1
解决办法
4532
查看次数

标签 统计

android ×1

kotlin ×1

unchecked-cast ×1