将android kotlin项目迁移到sdk 27

时间:2018-01-18 15:45:39

标签: android android-studio sdk kotlin

我想将我的android项目的targetSdkVersion从25更改为27。 问题是我使用了Kotlin并且有一些重大变化:

1)更改了View.findViewById()的签名。现在我需要使用findViewById<View>

2)Fragment的getContext()变得不安全,所以我需要添加!!所有片段中的所有上下文值。

有没有办法自动修复整个项目?这不是一个小项目,手动修复需要花费很多时间。

1 个答案:

答案 0 :(得分:1)

  1. 我知道,迁移findViewById并不是一种简单的方法。我相信我录制了一个Vim(IdeaVim)宏来帮助我。
  2. getContext()的可空性没有改变,只有注释确实如此。在过去getContext()可能已经返回null,编译器只是没有警告你。您不应该尝试找到忽略这些错误的方法,甚至不应该为每次使用添加!!。您应该处理返回值为null并在您的应用程序中执行正确操作的情况。