电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android Studio3.6中的View Binding初探及用法區別

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

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

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

設置說明

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

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

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

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

使用方法

如果為模塊啟用了視圖綁定,則將為其包含的每個XML布局文件生成一個綁定類。 每個綁定類都包含對根視圖和所有具有ID的視圖的引用。 綁定類的名稱是通過將XML文件的名稱轉換為駝峰式大小寫并將單詞“ 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);}

綁定類的實例現在可以用于引用任何視圖:

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

與findViewById的區別

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

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

與data binding 庫的區別

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

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

標簽: Android
相關文章:
主站蜘蛛池模板: 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 制样机-密封锤式破碎机-粉碎机-智能马弗炉-南昌科鑫制样 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 釜溪印象网络 - Powered by Discuz! | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 吉林污水处理公司,长春工业污水处理设备,净水设备-长春易洁环保科技有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 期货软件-专业期货分析软件下载-云智赢 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 |