bingforandroid
A. android 自定義View 使用 DataBinding 筆記
在 build.gradle 文件中添加配置
系統會根據布局文件名稱自動生成相應的 DataBinding 類,例如
布局文件 activity_main.xml 會生成 ActivityMainBinding 類 ,類名生成規則為駝峰命名: 文件名(首字母大寫) + Binding
activity 中使用:
fragment 中使用:
這里 android:text="@{viewmodel.text}" 對text進行設置
在 Edittext 中可以使用 android:text="@={viewmodel.text}" 進行雙向綁定,關鍵是這個 = 號;
若需要在xml布局文件中使用系統類的屬性,則需要引入.例:
通過引入 <import type="android.view.View"/> 可以使用 View.VISIBLE 、 View.GONE 屬性
有時候自定義view要用DataBinding時需要通過 @BindingAdapter 設置
單向綁定設置比較簡單 @BindingAdapter("app:paramA") 方法名為 setParamA ,單向綁定嘛就是傳入參數:
雙向綁定 set 、 get 方法,最主要的是 setListeners 方法,名字可以隨意,只是 @BindingAdapter 中是 "app:paramBAttrChanged" ,在屬性後面跟上 AttrChanged , attrChange 為通知系統內容變更的回調,當在 MineView 內部 paramB 發生變更時,通過 attrChange 去通知對 paramB 進行綁定的對象更新自己緩存中的內容 如:
希望對您有幫助.