-
設置數據的兩種方法:1. setXXX;2. setVariable。
查看全部 -
UI/事件的綁定
查看全部 -
啟用DataBinding。
查看全部 -
<include
? ?layout="@layout/include_demo"
? ?app:student="@{student}"/>查看全部 -
事件綁定:
方法引用
android:onClick="@{presenter.onClick}"
監聽器綁定
Java中:void onClickXXX(Employee employee)
layout:android:onClick="@{()->presenter.onClickXXX(employee)}??//l使用Lamanda語法
??? 說明:其中presenter和employee未layout聲明的變量。
查看全部 -
變量綁定:
1. layout中增加<data></data>標簽,里面聲明<variable name="變量名" type="類型"/>2. 代碼中為Binding對象set變量名()參數。
查看全部 -
Gradle中使能Data Binding
查看全部 -
Data Binding的劣勢
1. IDE支持不完善;2. 報錯信息不直接,需要仔細查;
3. 不支持重構
查看全部 -
Data Binding主要優勢
查看全部 -
Databinding的用途
查看全部 -
DataBinding會自動檢查空指針,但是無法避免數組越界。
查看全部 -
DataBinding中的表達式應該盡可能簡單,復雜的表達式可以放到ViewModel中。<br/>查看全部
-
空合并運算符:取第一個非空的結果。查看全部
-
DataDinding的表達式缺陷:
1. 無法調用當前所在類的對象(this);
2. 無法使用父類(super);
3. 無法創建對象(new);
4. 無法顯示泛型調用。
查看全部 -
主要性能2。查看全部
-
DataBinding的主要性能1。查看全部
-
DataBinding基本工作步驟。
查看全部 -
UI/事件綁定
查看全部 -
Databinding的優勢。查看全部
-
DataBinding的基本用途。
查看全部 -
前置知識點
查看全部 -
無法解決數組越界的問題
查看全部 -
當前訪問的屬性為null時,會自動返回默認值
查看全部 -
方法調用更推薦用雙冒號::,
空合并運算符:@{user.displayName??user.lastName},如果第一項不為null就取第一項的值,否則取第二項的值
Margin @dimen+@dimen
查看全部 -
https://github.com/markzhai/DataBindingSample
查看全部 -
類似方案:
ButterKnife
Android Annotations 需要代碼很大改動來配合,功能比ButterKnife強大。
RoboBinding github上有
查看全部 -
Data Binding 基本用途:
去掉Activity & Fragment 內的UI代碼
XML變成UI的唯一真實來源
減少定義view id的主要用途
不會因沒有id而crash
劣勢:
報錯信息不直接
IDE不夠完善
沒有重構支持
查看全部 -
Observable查看全部
舉報