久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Android Studio3.6中的View Binding初探及用法區(qū)別

瀏覽:69日期:2022-09-26 16:39:52

參考翻譯:https://developer.android.google.cn/topic/libraries/view-binding

View Binding是一項功能,使您可以更輕松地編寫與視圖交互的代碼。在模塊中啟用視圖綁定后,它將為該模塊中存在的每個XML布局文件生成一個綁定類。綁定類的實例包含對在相應布局中具有ID的所有視圖的直接引用。 在大多數(shù)情況下,視圖綁定替換findViewById。

設(shè)置說明

​ 視圖綁定在Android Studio 3.6 Canary 11+中可用。 需要在模塊中啟用視圖綁定,請將viewBinding元素添加build.gradle文件中,如下例所示:

android { ... viewBinding { enabled = true }}

如果要在生成綁定類時忽略布局文件,則將 tools:viewBindingIgnore='true' 屬性添加到該布局文件的根視圖中

<LinearLayout ... tools:viewBindingIgnore='true' > ...</LinearLayout>

使用方法

如果為模塊啟用了視圖綁定,則將為其包含的每個XML布局文件生成一個綁定類。 每個綁定類都包含對根視圖和所有具有ID的視圖的引用。 綁定類的名稱是通過將XML文件的名稱轉(zhuǎn)換為駝峰式大小寫并將單詞“ Binding”添加到末尾來生成的。 例如,給定一個名為 result_profile.xml:

<LinearLayout ... > <TextView android: /> <ImageView android:cropToPadding='true' /> <Button android: android:background='@drawable/rounded_button' /></LinearLayout>

​ 生成的綁定類將稱為ResultProfileBinding。 此類有兩個字段:一個名為name的TextView和一個名為button的Button。 布局中的ImageView沒有ID,因此在綁定類中沒有對其的引用。

​ 每個綁定類還包括一個getRoot()方法,為相應布局文件的根視圖提供直接引用。 在此示例中,ResultProfileBinding類中的getRoot()方法返回LinearLayout根視圖。

private ResultProfileBinding binding;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ResultProfileBinding.inflate(layoutInflater); setContentView(binding.root);}

綁定類的實例現(xiàn)在可以用于引用任何視圖:

binding.name.text = viewModel.name;binding.button.setOnClickListener(new View.OnClickListener() { viewModel.userClicked()});

與findViewById的區(qū)別

與使用findViewById相比,視圖綁定具有重要的優(yōu)勢:•空安全性:由于視圖綁定會創(chuàng)建對視圖的直接引用,因此不會因無效的視圖ID而導致空指針異常的風險。 此外,當視圖僅在布局的某些配置中存在時,在綁定類中包含其引用的字段將用@Nullable•類型安全性:每個綁定類中的字段具有與其在XML文件中引用的視圖匹配的類型。 這意味著沒有類強制轉(zhuǎn)換異常的風險。

這些差異意味著布局和代碼之間的不兼容性將導致編譯在編譯時而不是在運行時失敗。

與data binding 庫的區(qū)別

視圖綁定和數(shù)據(jù)綁定庫都生成可用于直接引用視圖的綁定類。 但是,有明顯的區(qū)別:•data binding庫僅處理使用標記創(chuàng)建的數(shù)據(jù)綁定布局。•view binding不支持布局變量或布局表達式,因此不能用于將布局與XML數(shù)據(jù)綁定。

到此這篇關(guān)于Android 中的View Binding初探及用法區(qū)別的文章就介紹到這了,更多相關(guān)android view binding內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Android
相關(guān)文章:
主站蜘蛛池模板: 国产毛片毛片 | 精品一区二区在线观看 | 久久精品国产清自在天天线 | 日本久久久久久 | 欧美一区不卡 | 午夜精品久久久久99蜜 | 黄网站涩免费蜜桃网站 | 欧洲精品在线观看 | 国产精品久久久久久久久久久久久久 | 91精品国产综合久久久久久丝袜 | 精品久久久久久久久久久久 | 日本在线观看视频一区 | 久久久免费观看 | 一区二区色 | 亚洲va中文字幕 | 欧美一区二区三区免费在线观看 | 国产精品毛片久久久久久 | 在线观看精品91福利 | 日韩在线观看第一页 | 欧美视频在线免费 | 午夜成人免费视频 | 国产一区二区精品在线观看 | 欧美精品一区二区三区蜜桃视频 | 在线免费国产 | 免费成人在线网站 | 欧洲亚洲精品久久久久 | 国产99久久| 日韩极品在线 | 综合久久综合久久 | 欧美aaaaa| 亚洲国产婷婷 | 国产一区精品视频 | 国产精品污www在线观看 | 久久99精品久久久久久久青青日本 | 精品一区二区久久久久久久网站 | 黄a免费看| 成人自拍视频 | 国产午夜久久久久 | 国产精品网站在线 | 久久九九精品久久 | 午夜午夜精品一区二区三区文 |