因此,edittext格式化输入内容的最简单方法是使用电话inputType。问题在于,这给了您除了数字以外的其他一些符号。而且我不希望用户能够输入这些符号。
我有什么办法可以使它起作用?然后编写一个格式化文本的自定义textWatcher。
答案 0 :(得分:2)
您必须使用numberPassword
输入类型而不是phone
输入类型
android:inputType="numberPassword"
但是,当您应用此设置时,由于editText
是inputType
,因此numberPassword
中的条目会显示为项目符号,因此,例如,要解决此问题,请新建一个Java类:
public class NumberKeyPadTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return source;
}}
在您的main activity
中获取edittext
的ID或使用edittext
的位置中,您只需添加一行代码
editText.setTransformationMethod(new NumberKeyPadTransformationMethod());
您的整个问题都会解决。
希望这会对您有所帮助。
答案 1 :(得分:0)
您应该使用Athira指出的方法:
android:inputType="number"
,如果需要十进制数字,则:
android:inputType="numberDecimal"