【问题标题】:Migrating from kotlin-android-extensions to newer view binding从 kotlin-android-extensions 迁移到更新的视图绑定
【发布时间】:2020-11-25 16:40:56
【问题描述】:

所以如果你得到类似下面的东西

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

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

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

【问题讨论】:

    标签: kotlin view android-viewbinding


    【解决方案1】:

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

    apply plugin: 'kotlin-android-extensions'
    

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

    从 app gradle 中删除合成插件后,您需要删除可能类似于以下任一的导入:

    • 活动/片段视图:导入 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_main.xml,那么您的绑定应该是 ActivityMainBinding

    here 你会找到片段的视图绑定示例

    here 是 google 的官方迁移文档

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      相关资源
      最近更新 更多