我有一个EditText
,我想根据Parameter
是否数字来设置其inputType
:
interface Parameter {
boolean isNumeric();
}
我有这个:
<EditText
...
android:inputType="@{parameter.isNumeric()? number : text}"/>
但是解析XML时存在错误。我尝试通过将number
和text
值包装在单个和double(Escaped(引号。
如何解决此问题?
number
和text
值将被视为Java上下文中的变量。您必须确保设置适当的Java值。首先,您必须在<data>
块中导入InputType
。然后使用关联的整数值。
<EditText
android:inputType="@{parameter.isNumeric() ? InputType.TYPE_CLASS_NUMBER : InputType.TYPE_CLASS_TEXT}" />