android - 如何解决 EditText InputType 被视为 Null 的问题,尽管它已指定
问题描述
即使我为 EditText 字段指定了 inputType,选择该字段也会导致光标在屏幕上闪烁然后消失。还显示了错误的键盘,并且日志表明它认为 inputType 为空。奇怪的是,如果我单击该字段半秒钟左右,它会按预期工作。
这是为了将数据输入到基于 JSON 文件生成的表单中。以前它工作时没有问题,但在途中某个地方坏了。我的一部分想知道这是否是一个模拟器错误,因为它似乎是在更新模拟器后开始的。下面概述了 XML 的一个示例。在这种情况下,它用于数字条目,但它也会影响其他 inputTypes。
<EditText
android:layout_width="30dp"
android:layout_height="50dp"
android:layout_weight="1"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:inputType="numberDecimal|numberSigned"
android:background="@drawable/form_entry_text_back"
android:id="@+id/number_entry"
tools:ignore="Autofill,LabelFor" />
预期:单击该字段会使该字段以可见光标聚焦。它还显示正确的键盘类型
实际:键盘上方的自动完成 UI 在屏幕上短暂闪烁。显示了键盘,但它并不总是正确的类型。EditText 字段中没有光标。除此之外,我得到以下 3 条日志行
01-19 11:41:38.300 1963-1963/com.android.inputmethod.latin I/LatinIME: Starting input. Cursor position = 0,0
01-19 11:41:38.377 1963-1963/com.android.inputmethod.latin I/LatinIME: Starting input. Cursor position = -1,-1
01-19 11:41:38.394 1963-1963/com.android.inputmethod.latin I/InputAttributes: InputType.TYPE_NULL is specified
这些是显示的唯一日志行
解决方法:如果我按住单击的时间比正常情况稍长一点,它将完全按预期工作。
解决方案
推荐阅读
- javascript - 8位数字的正则表达式,之后是1个点,之后只有2位数字
- django - 无法在 SubjectRoomSchedule 或 SubjectRoomSchedule 上查找“Time_From”
- python - 如何跳过无法解码的字符?
- php - Codeigniter - 发送包含异常详细信息的电子邮件
- jupyter-notebook - 使用 python 的简单分析仪表板
- python - 插入 Postgres 时 python 代码慢
- javascript - 如何在没有某种样式的情况下将文本粘贴到tinymce
- security - 使用 SecAsn1Decode 解析 DER 格式数据
- php - 使用 PHP 的 I 语句和数组
- javascript - React Hooks & UseEffect 不使用 socketIO 数据更新显示