【发布时间】:2014-09-14 11:25:07
【问题描述】:
我有一个用户,他拥有一台 LG VS890 4G 和 Android 4.4.2。显然,每次当他试图在我的纬度/经度坐标输入EditText 中插入减号时,他的减号都会转换为一个点。如果他将负坐标粘贴到EditText 中,他会遇到同样的问题。
<EditText
android:id="@+id/long_degrees_et_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number|numberSigned|numberDecimal" >
问题是他只有在使用软键盘时才会遇到这种情况。在硬键盘上,它按预期工作。
这是他在尝试输入坐标时的手机屏幕截图:
我知道这是一个inputType 问题,因为我给了他一个没有inputType 的构建并且它运行良好(除了他的键盘没有以数字类型打开)。
他是唯一一个报告这个问题的人,我无法重现它。我真的很想将输入类型保持为数字,以便键盘自动打开为数字。关于如何解决此问题的任何想法?
【问题讨论】:
-
点和减号是同一个键。他试过长按点吗?
-
我认为他做到了,反正我让他在编辑文本中粘贴负坐标,他仍然遇到同样的问题(减号自动转换为点)
-
我在三星 S5 手机上得到了完全相同的结果。绝对是一个错误,同一设备的 Genymotion 模拟器将减号和小数点按钮显示为适当的单独按钮。看来这取决于设备,尽管 LG 和三星都很奇怪。
-
我也有一个带有 lat/long 编辑字段的片段,只有 android:inputType="numberSigned|numberDecimal"
-
嗯,对于我们的情况,我能想到的最好的解决方法是为半球放置一个 N/S 和 W/E 的组合,并避免要求用户输入“-”符号。
标签: android android-edittext android-softkeyboard android-inputtype