可见性在数据绑定中不起作用 android
Visibility not working in data binding android
我正在使用 android 使用 android studio 2.1 中的最新数据绑定。
使用下面代码中描述的可见性标签得到错误
java.lang.RuntimeException: Found data binding errors.
/ data binding error ****msg:Identifiers must have user defined types from the XML file. View is missing it
file: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}"
/>
做了一些 google 找不到解决方案。 @string/Empty_String 在 string.xml 文件中定义为空字符串 ""。我哪里做错了。
Android data binding, Radio Button not updating
将此添加到您的 cardview_image_twotextview.xml
:
<data>
<import type="android.view.View" />
<!--your variables-->
</data>
Zero or more import elements may be used inside the data element.
These allow easy reference to classes inside your layout file, just
like in Java.
您需要导入视图 class 才能使用其属性。
<data>
<import type="android.view.View"/>
</data>
也可以参考官方DataBinding guideline.
要在字符串为 空 时隐藏视图,请在数据绑定中使用以下表达式
<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}"/>
我正在使用 android 使用 android studio 2.1 中的最新数据绑定。 使用下面代码中描述的可见性标签得到错误
java.lang.RuntimeException: Found data binding errors. / data binding error ****msg:Identifiers must have user defined types from the XML file. View is missing it file: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}"
/>
做了一些 google 找不到解决方案。 @string/Empty_String 在 string.xml 文件中定义为空字符串 ""。我哪里做错了。
Android data binding, Radio Button not updating
将此添加到您的 cardview_image_twotextview.xml
:
<data>
<import type="android.view.View" />
<!--your variables-->
</data>
Zero or more import elements may be used inside the data element. These allow easy reference to classes inside your layout file, just like in Java.
您需要导入视图 class 才能使用其属性。
<data>
<import type="android.view.View"/>
</data>
也可以参考官方DataBinding guideline.
要在字符串为 空 时隐藏视图,请在数据绑定中使用以下表达式
<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}"/>