[英]Visibility not working in data binding android
我使用android studio 2.1在android中使用最新的數據綁定。 使用可見性標記,如下面的代碼所述,獲取錯誤
java.lang.RuntimeException:發現數據綁定錯誤。 / data binding error **** msg:標識符必須具有XML文件中的用戶定義類型。 視圖缺少文件:D:\\ HP \\ HealthPortal_Android \\ Code \\ app \\ src \\ main \\ res \\ layout \\ cardview_image_twotextview.xml loc:68:90 - 68:93 \\ data binding error
<TextView
android:id="@+id/card_sub_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/card_title"
android:layout_marginLeft="@dimen/carview_margin"
android:layout_toRightOf="@+id/card_image"
android:text="@{toolsAndTrackersCards.subtitle}"
android:textColor="@color/black"
android:textSize="20sp"
android:visibility="@{toolsAndTrackersCards.subtitle.equals(@string/Empty_String) ? View.VISIBLE : View.GONE}"
/>
做了一些谷歌沒有abel找到解決方案。 @ string / Empty_String在string.xml文件中定義為空字符串“”。 我做錯了。
將其添加到cardview_image_twotextview.xml
:
<data>
<import type="android.view.View" />
<!--your variables-->
</data>
可以在數據元素內使用零個或多個導入元素。 這些允許輕松引用布局文件中的類,就像在Java中一樣。
您需要導入View類才能使用其屬性。
<data>
<import type="android.view.View"/>
</data>
您也可以參考官方DataBinding指南 。
要在字符串為空時隱藏視圖,請在數據綁定中使用以下表達式
<data>
<import type="android.view.View"/>
<variable
name="item"
type="com.test.model.Item" />
</data>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.title}"
android:visibility='@{item.title.equals("") ? View.GONE : View.VISIBLE}'/>
注意:需要使用外部單引號字符串才能使用雙引號來表示空字符串
如果要檢查null和empty ,請使用以下代碼:
<data>
<import type="android.view.View"/>
<import type="android.text.TextUtils"/>
<variable
name="item"
type="com.test.model.Item" />
</data>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{item.title}"
android:visibility="@{TextUtils.isEmpty(item.title) ? View.GONE : View.VISIBLE}"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.