Android数据绑定库中包含字符串文字的三元运算符

时间:2017-06-06 14:06:58

标签: android android-databinding

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

interface Parameter {
    boolean isNumeric();
}

我有这个:

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

但解析XML时出错。我尝试将numbertext值包装在单引号和双引号(转义)中。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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