DataBinding的恶心bug
- 程序包不存在 一般都是xml文件出错
DataBinding的布局文件中不允许使用中文
1、android:text 不允许出现中文 或中文 字符
android:text='@{String.valueOf("姓名:"+user.name)}'
把需要拼接的定义到string.xml了
<string name="label_rmb">¥</string>
然后调用时就像这样
android:text="@{@string/label_rmb+user.name}"
//或者
android:text="@{String.format(@string/label_rmb_2,user.name)}"
另外还有一种方式,那就是在实体类里面处理
public class User {
public String name;
public String des;
public String getNameStr() {
return "姓名:" + name;
}
}
然后调用时就像这样
android:text="@{user.nameStr}"
2、整个TextView里面也不许有中文
<TextView
android:tag="@string/SBXH"
android:onClick="@{click.onClick}"
android:text="@{table.SBXH}"
android:id="@+id/tv_SBXH"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/table_tv_click"
android:gravity="center"
android:padding="8dp"
android:textSize="20sp" />
3、name取名 不要存在 _
本文详细解析DataBinding中常见的三个问题:android:text属性中避免使用中文,整个TextView内不可包含中文,变量名避免使用下划线。并提供了解决方案,如通过string.xml资源文件进行字符串拼接,实体类内部处理,以及正确的变量命名规范。

1万+

被折叠的 条评论
为什么被折叠?



