【问题标题】:Migrate android kotlin project to sdk 27将 android kotlin 项目迁移到 sdk 27
【发布时间】:2018-01-18 15:45:39
【问题描述】:

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

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

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

有没有办法为整个项目自动修复它?这不是一个小项目,手动进行此修复将花费大量时间。

【问题讨论】:

    标签: android android-studio sdk kotlin


    【解决方案1】:
    1. 据我所知,迁移findViewById 的内置方法并不简单。我相信我录制了一个 Vim (IdeaVim) 宏来帮助我。
    2. getContext() 的可空性没有改变,只有注释改变了。过去getContext() 可能返回null,编译器只是没有警告你。您不应该试图找到忽略这些错误的方法,甚至不应该在每个用法中添加!!。相反,您应该处理返回值为 null 的情况,并在您的应用程序中做正确的事情。

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 2015-03-14
      • 2014-08-15
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多