我试图接受用户输入,其中可能包含或不包含逗号,并将逗号用户取消选择字段的正确位置(或者根本不可能)。如何格式化EditText的数值在Android上使用逗号(或根本!?)在Android中使用逗号
我也想知道如何减去逗号使得数字只是一个整数。
在此先感谢您的帮助!
我试图接受用户输入,其中可能包含或不包含逗号,并将逗号用户取消选择字段的正确位置(或者根本不可能)。如何格式化EditText的数值在Android上使用逗号(或根本!?)在Android中使用逗号
我也想知道如何减去逗号使得数字只是一个整数。
在此先感谢您的帮助!
我不确定,但我可以推测。 Add a focus listener并实现与修改侦听器中TextView内容相关的所有逻辑。
至于逗号去,我假设你存储的值为一个字符串。所以,你可以使用NumberFormat,parse字符串,然后调用intValue方法
NumberFormat format = NumberFormat.getNumberInstance();
String numAsStr = "1,000,000";
int num = format.parse(numAsStr).intValue();
您可以使用NumberFormat.format格式化输入:
format.format(1000000)//will yield a string "1,000,000"
我不太了解Android,但是如果您在Swing中编程,那么您可能要查看javax.swing.InputVerifier。它触发对Swing组件进行验证检查时,它不集中,我相信它包括修改内容的能力。一个额外的好处是能够检查文本字段确实包含一个数字。
谢谢你,DJ,但我特别使用Android和我不认为它允许我使用Swing组件。 :( 我需要您的解决方案相当于,仅适用于Android!这将是完美的。 – 2010-08-17 16:46:06
本来我指出你应该尝试onWindowFocusChanged,但你可能想使用setOnFocusChangeListener(我改变了链接以反映更改) – Andrey 2010-08-17 17:17:10