我把InputType.TYPE_NUMBER_FLAG_DECIMAL or InputType.TYPE_CLASS_NUMBER
设置为EditText,我想用逗号作为小数点分隔符,所以我把数字"0123456789.,"
设置为EditText。
editText.keyListener = DigitsKeyListener.getInstance("0123456789.,")
我在EditText上设置了一个TextWatcher来处理用户输入。当我在Android模拟器键盘上点击逗号(“,”)时,它按预期工作,但如果我在我的手机上构建,它有三星键盘,逗号键被禁用,不工作。我搜索了这么多,但我找不到一个方法。
你对这个问题有什么想法吗?
1条答案
按热度按时间yh2wf1be1#
现在是2022年,这个问题仍然存在(至少在三星设备上):)
因此,我通过在 EditText 中添加一个 TextChangedListener 来解决这个问题,并检查最后输入的字符是否等于(特定于国家的)千位分隔符。如果是,我将其替换为特定于国家的小数分隔符:
如果您的应用管理千位分隔符,并且您不允许用户设置这些分隔符,则此解决方案有效。