San*_*isy 5 android android-layout android-fragments android-databinding
我使用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}"
/>
Run Code Online (Sandbox Code Playgroud)
做了一些谷歌没有abel找到解决方案.该@字符串/ Empty_String是string.xml文件中定义为空字符串"".我做错了.
wal*_*kmn 15
将此添加到您的cardview_image_twotextview.xml:
<data>
<import type="android.view.View" />
<!--your variables-->
</data>
Run Code Online (Sandbox Code Playgroud)
小智 11
要在字符串为空时隐藏视图,请在数据绑定中使用以下表达式
<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}'/>
Run Code Online (Sandbox Code Playgroud)
注意:需要使用外单引号字符串才能使用双引号表示空字符串
如果要检查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}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2962 次 |
| 最近记录: |