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

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

这似乎没有任何效果。


当前回答

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

mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());

应该能行。

其他回答

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

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

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

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

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

mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());

应该能行。

尝试将此添加到布局中的EditText/TextView标签

android:password="true"

编辑:我刚刚重读了你的帖子,也许你需要在施工后这样做。我不明白你的片段为什么不管用。

field.setInputType(InputType.TYPE_CLASS_TEXT);