我正在尝试在保存时验证 EditText。我有以下代码:
<EditText
style="@style/iconValue"
android:id="@+id/birthDateEditText"
android:hint="Birth Date"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:maxLength="10"
android:inputType="date" />
我使用 getInputType() 属性来检查类型:
EditText editText = (EditText) view;
int type = editText.getInputType();
if (type == InputType.TYPE_CLASS_DATETIME) {
if (editText.getVisibility() == View.VISIBLE && isValidDateControl(editText)) {
//do stuff
}
}
我已经尝试了大量的 InputType 值,但单步执行时第二个 if 语句从未被命中。变量 type
返回其值 20。我可以检查类型是否为 20,但我不想这样做。
最佳答案
TYPE_CLASS_DATETIME | TYPE_DATETIME_VARIATION_DATE
等于 android:inputType
。
引用here .
这意味着当将 if 子句更改为:
if (type == (InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_DATE))
关于java - 如何以编程方式查看 EditText 是否具有日期输入类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21337821/