欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

kotlin中使用ViewBinding綁定控件的方法

 更新時(shí)間:2024年03月22日 10:22:30   作者:Style_OvO  
View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實(shí)現(xiàn)還是通過(guò)使用findViewById,這篇文章主要介紹了kotlin中使用ViewBinding綁定控件,需要的朋友可以參考下

kotlin中使用ViewBinding綁定控件

什么是ViewBinding?

  • View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實(shí)現(xiàn)還是通過(guò)使用findViewById。通過(guò)ViewBinding,可以更輕松地編寫(xiě)可與視圖交互的代碼。在模塊中啟用ViewBinding之后,系統(tǒng)會(huì)為該模塊中的每個(gè) XML 布局文件生成一個(gè)綁定類,綁定類的實(shí)例包含對(duì)在相應(yīng)布局中具有 ID 的所有視圖的直接引用。
  • 在之前的項(xiàng)目中我們可以通過(guò)kotlin-android-extensions插件來(lái)綁定View控件的,很遺憾在Android Studio 4.1之后kotlin-android-extensions插件已被廢棄,現(xiàn)在推薦使用ViewBinding來(lái)進(jìn)行替代。
  • 注意:視圖綁定在 Android Studio 3.6 Canary 11 及更高版本中可用

配置ViewBinding

  • 在app級(jí)別的build.gradle中的android閉包中添加buildFeatures,設(shè)置viewBinding 為 true
android {
    namespace xxx
    compileSdkVersion versions.compileSdk
    defaultConfig {
        ...
    }
    compileOptions {
        ...
    }
    buildFeatures{
        viewBinding true
    }
}

配置完成后 Sync一下gradle,編譯項(xiàng)目后會(huì)在build→generated→data_binding_base_class_source_out文件中生成相應(yīng)的類。Binding類的命名規(guī)則是將布局文件按駝峰方式重命名后,再加上Binding作為結(jié)尾。例如,我們activity_main.xml布局對(duì)應(yīng)的Binding類就是ActivityMainBinding。

如果有些布局文件你不希望為它生成對(duì)應(yīng)的Binding類,可以在該布局文件的根元素位置加入
tools:viewBindingIgnore="true"

使用ViewBinding

在Activity使用viewbing,如下代碼所示。注意:我們需要先Binding類的getRoot方法獲取到對(duì)應(yīng)布局文件的根元素,然后將其傳入到setContentView方法中,否則設(shè)置監(jiān)聽(tīng)事件會(huì)無(wú)法生效

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //初始化ViewBinding控件
        var myBinding = ActivityMainBinding.inflate(layoutInflater)
        //把根元素的對(duì)象作為參數(shù)傳入到setContentView()方法中
        setContentView(myBinding.root)
        //botton是activity_main.xml中的一個(gè)按鈕id
        myBinding.botton.setOnClickListener {
			//Code Logic
        }
    }
}

到此這篇關(guān)于kotlin中使用ViewBinding綁定控件的文章就介紹到這了,更多相關(guān)kotlin使用ViewBinding綁定控件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論