中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ViewBinding怎么在Android中使用

發布時間:2021-05-18 15:50:49 來源:億速云 閱讀:193 作者:Leah 欄目:開發技術

ViewBinding怎么在Android中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

ViewBinding 有什么作用

  • 過于冗余

findViewById 對應所有的View 都需要書寫以下 findViewById(R.id.xxx) 的方法

  • 不安全

所謂的不安全就是分為兩個  首先是空類型的不安全,findViewById  又可能返回為null,導致程序異常
第二: 強轉的不安全,findViewById。 將 對應的id 需要強轉成對應的View 例如

TextView tv = findViewById(R.id.textview);

一旦我的類型給錯了,就會出現異常,比如將textview 錯強轉成 ImageView

正文開始

最近這段時間在學習Kotlin,突然發現谷歌已經把kotlin-android-extensions插件廢棄,目前推薦使用ViewBinding來進行替代。

ViewBinding的目的:避免編寫findViewById

使用ViewBinding前的注意事項:
1、確保你的Android Studio是3.6或更高的版本
2、在build.gradle中加入以下配置:buildFeatures { viewBinding true }

使用ViewBinding的步驟:
1、首先要調用activity_main.xml布局文件對應的Binding類,也就是ActivityMainBinding的inflate()函數去加載該布局,inflate()函數接收一個LayoutInflater參數,在Activity中是可以直接獲取到的
2、接下來調用Binding類的getRoot()函數可以得到activity_main.xml中根元素的實例
3、把根元素的實例傳入到setContentView()函數當中,這樣Activity就可以成功顯示activity_main.xml這個布局的內容了。

話不多說,接下來是代碼部分:
1、在build.gradle中加入:buildFeatures { viewBinding true }

ViewBinding怎么在Android中使用
ViewBinding怎么在Android中使用

2、將要使用ViewBinding的Activity打開,將代碼改成如下的樣子:

ViewBinding怎么在Android中使用

這里要注意的是,如果在別的Activity中要使用binding的話(如:我現在的kt文件叫做LoginActivity.kt,那么代碼如下:

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityLoginBinding

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

        binding.webView
    }
}

3、此時就可以通過binding.控件id名進行調用

ViewBinding怎么在Android中使用

Android是什么

Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀远县| 瑞昌市| 南投市| 浦江县| 临朐县| 罗甸县| 竹山县| 安吉县| 辛集市| 正宁县| 凤凰县| 利辛县| 新平| 社旗县| 凤城市| 华坪县| 安图县| 鸡泽县| 海口市| 景泰县| 饶河县| 岳西县| 毕节市| 定安县| 敦煌市| 岐山县| 铜川市| 青海省| 喜德县| 开阳县| 衡南县| 夏津县| 仙居县| 广宗县| 柳林县| 宜川县| 冷水江市| 政和县| 乌什县| 防城港市| 定南县|