【发布时间】:2016-07-24 06:20:02
【问题描述】:
当从 XML 获取信息时,trim() 方法是否可以用于两种数据绑定方式。如果是怎么办?
android:text='@={contact.contactDetails.name}'
【问题讨论】:
标签: android android-databinding 2-way-object-databinding
当从 XML 获取信息时,trim() 方法是否可以用于两种数据绑定方式。如果是怎么办?
android:text='@={contact.contactDetails.name}'
【问题讨论】:
标签: android android-databinding 2-way-object-databinding
您可以在模型类的 getter/setter 方法中对其进行修剪。
public class UserModel {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name.trim();
}
}
android 用 binding.getUser().getName() 得到它,即使你可以在 getName() 中使用 trim() 两者都一样。
【讨论】:
我遇到了同样的问题。对我来说,布局中的 trim() 和 trim 都不起作用。我的决定是创建新方法,替换字符串中的所有空格。
Utils.class
public static String trim(String string) {
return string.replaceAll(" ", "");
}
然后在布局中:
android:text="@{Utils.trim(contact.contactDetails.name)}"
【讨论】:
这也是可能的:
android:text='@={contact.contactDetails.name.trim}'
【讨论】: