java - 如何以编程方式查看 EditText 是否具有日期输入类型?

标签 java android validation

我正在尝试在保存时验证 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/

相关文章:

java - WatchService 排除文件夹

java - QueryDSL 重复标识变量/相等语法错误与任何设置?

android - Eclipse 导出的 apk 崩溃

java - 在Android Studio中运行我的应用程序时出现DuplicatedError

validation - 使用哪种设计模式进行验证

java - 使用 Java 包装 C++

java - 如何使用JNA处理结构内部的结构成员?

android - Nexus 7 实际屏幕尺寸

validation - 在嵌套模型上验证之前

python - Django 表单和在 View /页面之间传递数据