如何以编程方式设置EditText的输入类型?我尝试:

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

这似乎没有任何效果。


当前回答

根据TextView文档,android:password的编程版本是setTransformationMethod(),而不是setInputType()。比如:

mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());

应该能行。

其他回答

field.setInputType(InputType.TYPE_CLASS_TEXT);

只允许数字:

password1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_CLASS_NUMBER);

转换(隐藏)密码:

password1.setTransformationMethod(PasswordTransformationMethod.getInstance());

要以编程方式设置EditText的输入类型,必须指定输入类类型为文本。

editPass.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);

取消隐藏密码:

editText.setInputType(
      InputType.TYPE_CLASS_TEXT|
      InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
);

再次隐藏密码:

editText.setTransformationMethod(PasswordTransformationMethod.getInstance());

我已经解决了所有问题

.setInputType(InputType.TYPE_CLASS_NUMBER);

为看清楚的数据和

.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

看这些点(如果数据是数字,它不是其他类的选择)