我的用户报告了我的应用程序错误。我的布局中有几个EditText字段。我只希望用户能够输入带符号的十进制数。但是,我没有将布局声明为number|numberSigned|numberDecimal
,因为我有一个自定义TextWatcher附加到这些字段来处理输入并确保它是正确的。我这样做是因为我希望减号键用作切换。
让我们说,该字段中有“300”。如果用户点击减号,我的自定义TextWatcher会拦截它并将其变为“-300”而不是“300-”。如果他们再次点击减号,它将删除现有的减号并将其更改为“300”。
这适用于几乎每个人,但它不适用于Kindle Fire。虚拟键盘上的小数点和减号键被禁用,因此他们甚至无法选择点击这些键并让自定义文本观察器完成其工作。
如果我确实将字段声明为number|numberSigned|numberDecimal
,那么除非光标位于最左侧位置(即300之中的3之前),否则字段不会让用户点击减号键。
如何告诉Kindle Fire确保小数点和减号键需要激活,但同时不限制用户允许的输入,直到它到达我的自定义TextWatcher ...你知道,就像这样其他Android设备一直在为我工作? :)
答案 0 :(得分:0)
来自@zapl的回答:
theEditText.setRawInputType(Configuration.KEYBOARD_12KEY)
工作!去寻找他的一些其他好的答案并对他进行投票,这样他就可以得到适当的回报。 ;)