我的用户拥有 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
的版本,并且它很好(除了他的键盘没有打开数字类型)。
他是唯一报告此问题的人,我无法复制它。我真的想将输入类型保持为数字,以便键盘自动打开数字。关于如何解决这个问题的任何想法?
答案 0 :(得分:5)
此布局元素
<EditText
...
android:inputType="number|numberDecimal|numberSigned"
...
/>
应提供带有小数和符号条目的数字键盘视图。在我的大多数设备和模拟器上''。并且' - '在单独的按钮上,在三星Galaxy S5 / SM-G900P / Android 4.4.2上都是'。'并且' - '奇怪地出现在同一个按钮上(如LG设备上面的照片所示,也是4.4.2)。它出现在某些设备上,弹出式键盘是snafu,因为它将符号和十进制放在同一个按钮上。
但是,在字段的第一个字符上,如果双击(.-)按钮,将输入一个符号而不是小数。单击将输入一个小数。困难在于为您的用户解释这个技巧。
也许这个设计可能是为了节省按钮空间。 (嗯,我们不是只是降落在一颗小行星上吗?)
使用此组合无法正常工作:
android:inputType="number|numberSigned|numberDecimal"
android:digits="0123456789.-"
另外,不要使用android:numeric =“decimal”,因为它会递减,也不会解决问题。
@Adrian对N / S W / E的建议将是一个很好的补充,但不是替代,因为仍然需要 - 符号。有些用户认为罗盘有所上升,有些人认为 - / +。一种解决方案是创建自定义input method editor (IME).这是example custom KeyboardView。
特定于纬度和经度坐标的输入:我将使用自定义IME / KeyboardView路线并具有特定的纬度/长度输入处理,因为每个字段也有范围值。
答案 1 :(得分:0)
我的另一个用户遇到了同样的问题,他发现他需要双击点/点键才能保持短划线可见。对于可能遇到同样问题的人,我提到这一点。