从 kotlin-android-extensions 迁移到更新的视图绑定

Migrating from kotlin-android-extensions to newer view binding

因此,如果您收到以下内容

> Configure project :app
Warning: The 'kotlin-android-extensions' Gradle plugin is deprecated.

这可能意味着不再支持/弃用使用 Kotlin 合成进行视图绑定。

以下是您可以清楚地了解如何获取/识别与您的视图相关的 ViewBinding class 的答案。

为了迁移到更新的绑定方式,您需要先删除 kotlin 合成插件,该插件可以按如下方式添加:

apply plugin: 'kotlin-android-extensions'

plugins {
    ...
    id 'kotlin-android-extensions'
}

从应用程序中删除合成插件后 gradle 您需要删除可能喜欢以下任一内容的导入:

  • activity /片段视图:导入 kotlinx.android.synthetic.main..*
  • 正常观看次数: 导入 kotlinx.android.synthetic.main..view.*

现在开始实际迁移

您需要在您的应用中添加以下内容gradle

android {
     ... 
     buildFeatures {
        viewBinding true
    }
}

在此之后,您需要在要绑定视图的位置添加绑定 属性。 下面是一个例子 :

private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    val view = binding.root
    setContentView(view)

    binding.myTextView.text = "my text" //say your text view id is like : my_text_view"
}

注意:如果您的 activity 布局是 activity_main.xml 那么您的绑定应该是 ActivityMainBinding

here 您将找到片段的视图绑定示例

here 是来自 google

的官方迁移文档