用了databinding之後,陸陸續續遇到一些坑,比如在xml中用&&或者是<字符。就會出現類似下面的報錯。
Error:Execution failed for task ':app:dataBindingProcessLayoutsBetaDebug'.
> org.xml.sax.SAXParseException; systemId: file:/Users/kam/Documents/workspace/..../layout/fragment_product_entry_details.xml; lineNumber: 87; columnNumber: 78; 與元素類型 "LinearLayout" 相關聯的 "android:visibility" 屬性值不能包含 '<' 字符。
其實原因是在xml中沒有用轉義,部分字符需要轉義,請參照:http://tool.oschina.net/commons?type=2
原來的寫法:把<字符改成<就行了。
android:visibility="@{viewModel.status<=0?View.GONE:View.VISIBLE"
修改後的寫法:
android:visibility="@{viewModel.status<=0?View.GONE:View.VISIBLE"