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