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

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

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

瀏覽:72日期: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
相關文章:
主站蜘蛛池模板: 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 奥因-光触媒除甲醛公司-除甲醛加盟公司十大品牌 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 江苏大隆凯科技有限公司| 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 温州在线网 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 |