在Android数据绑定库中具有字符串文字的三元运算符



我有一个EditText,我想根据Parameter是否数字来设置其inputType

interface Parameter {
    boolean isNumeric();
}

我有这个:

   <EditText
       ...
       android:inputType="@{parameter.isNumeric()? number : text}"/>

但是解析XML时存在错误。我尝试通过将numbertext值包装在单个和double(Escaped(引号。

中。

如何解决此问题?

numbertext值将被视为Java上下文中的变量。您必须确保设置适当的Java值。首先,您必须在<data>块中导入InputType。然后使用关联的整数值。

<EditText
    android:inputType="@{parameter.isNumeric() ? InputType.TYPE_CLASS_NUMBER : InputType.TYPE_CLASS_TEXT}" />

最新更新