Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android虚拟键盘按钮被不当禁用(Kindle Fire)_Android_Kindle Fire_Virtual Keyboard - Fatal编程技术网

Android虚拟键盘按钮被不当禁用(Kindle Fire)

Android虚拟键盘按钮被不当禁用(Kindle Fire),android,kindle-fire,virtual-keyboard,Android,Kindle Fire,Virtual Keyboard,我有一个用户报告我的应用程序出错。我的布局中有几个EditText字段。我只希望用户能够输入有符号的十进制数字。但是,我没有让布局将它们声明为number | numberSigned | numberDecimal,因为我有一个自定义的TextWatcher附加到这些字段,用于处理输入并确保输入正确。我这样做是因为我希望减号键充当切换键 比方说,字段中有“300”。如果用户点击减号,我的自定义TextWatcher将截取它并将其转换为“-300”,而不是“300-”。如果他们再次点击减号,它将

我有一个用户报告我的应用程序出错。我的布局中有几个EditText字段。我只希望用户能够输入有符号的十进制数字。但是,我没有让布局将它们声明为
number | numberSigned | numberDecimal
,因为我有一个自定义的TextWatcher附加到这些字段,用于处理输入并确保输入正确。我这样做是因为我希望减号键充当切换键

比方说,字段中有“300”。如果用户点击减号,我的自定义TextWatcher将截取它并将其转换为“-300”,而不是“300-”。如果他们再次点击减号,它将删除现有的减号并将其更改为“300”

这对每个人来说都很好,但在KindleFire上不起作用。虚拟键盘上的小数点和减号键被禁用,因此它们甚至没有点击这些键并让自定义文本查看器执行其工作的选项

如果我将字段声明为
number | numberSigned | numberDecimal
,则除非光标位于最左边的位置(即在300中的3之前),否则字段将不允许用户点击减号键

我如何告诉Kindle Fire确保小数点和减号键处于激活状态,但同时在它到达我的自定义TextWatcher之前不限制用户允许的输入。。。你知道,就像其他安卓设备为我工作的方式一样?:)

来自@zapl的答案是:

theEditText.setRawInputType(Configuration.KEYBOARD_12KEY)

成功了!去找他其他的好答案,给他投票,这样他就可以从这个答案中得到适当的信任

有一种方法可以强制使用数字键盘,而不将编辑文本限制为“数字”。这可能对您有用,因为它允许火输入“300-”。我只是不记得如何:O)
edittext.setRawInputType(Configuration.KEYBOARD\u12键)
可能会有帮助。禁用的
-
听起来很奇怪。@zapl事实证明这确实有帮助。如果你把它作为一个答案发布,我会接受它,这样你就可以得到代表。你现在应该有一个更好的例子,说明它是如何工作的,这样你就可以发布你所做的,作为懒惰者的无答案工作:)