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

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

这似乎没有任何效果。


当前回答

芬兰湾的科特林:

    val password = EditText(this)
    password.inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD
    password.hint = "Password"

其他回答

我已经解决了所有问题

.setInputType(InputType.TYPE_CLASS_NUMBER);

为看清楚的数据和

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

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

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

此外,你必须小心光标移动到editText的起始点 调用此函数后,请确保再次将光标移动到结束点。

取消隐藏密码:

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

再次隐藏密码:

editText.setTransformationMethod(PasswordTransformationMethod.getInstance());

InputType将不工作,最简单的方法是setTransfromationMethod()

显示密码 edittextPassword.setTransformationMethod(空); 再次隐藏密码 edittextPassword。setTransformationMethod(新PasswordTransformationMethod ());

芬兰湾的科特林:

    val password = EditText(this)
    password.inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD
    password.hint = "Password"