1

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

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

这对几乎所有人都适用,但不适用于 Kindle Fire。虚拟键盘上的小数点和减号键被禁用,因此他们甚至无法选择点击这些键并让自定义文本观察器完成其工作。

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

我怎样才能告诉 Kindle Fire 确保小数点和减号键需要处于活动状态,但同时在到达我的自定义 TextWatcher 之前不要限制用户允许的输入......你知道,就像其他所有 Android 设备一样设备一直为我工作?:)

4

1 回答 1

0

@zapl 的回答:

theEditText.setRawInputType(Configuration.KEYBOARD_12KEY)

工作!去寻找他的其他一些好的答案并为他投票,以便他可以为这个答案获得适当的赞誉。;)

于 2012-05-03T20:33:44.613 回答