我想将我的android项目的targetSdkVersion从25更改为27。 问题是我使用了Kotlin并且有一些重大变化:
1)更改了View.findViewById()
的签名。现在我需要使用findViewById<View>
2)Fragment的getContext()
变得不安全,所以我需要添加!!所有片段中的所有上下文值。
有没有办法自动修复整个项目?这不是一个小项目,手动修复需要花费很多时间。
答案 0 :(得分:1)
findViewById
并不是一种简单的方法。我相信我录制了一个Vim(IdeaVim)宏来帮助我。getContext()
的可空性没有改变,只有注释确实如此。在过去getContext()
可能已经返回null
,编译器只是没有警告你。您不应该尝试找到忽略这些错误的方法,甚至不应该为每次使用添加!!
。您应该处理返回值为null
并在您的应用程序中执行正确操作的情况。