为EditText设置inputType?

我们如何以编程方式设置EditText的inputtypes? 我尝试着:

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 

它似乎没有任何影响。

根据TextView文档 ,android:password的编程版本是setTransformationMethod() ,而不是setInputType()。 所以像这样:

 mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance()); 

应该做的伎俩。

要以编程方式设置EditText的inputtypes,必须指定input类的types是文本。

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

我解决了所有的问题

 .setInputType(InputType.TYPE_CLASS_NUMBER); 

为了看清楚的数据和

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

为了看点(如果数据是一个数字,这不是select其他类)

只允许数字:

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

要转换(隐藏)密码:

 password1.setTransformationMethod(PasswordTransformationMethod.getInstance()); 
 editText.setInputType(EditorInfo.TYPE_CLASS_NUMBER); 

//您可以根据您的要求更改TYPE _…

我知道预期的答案是在Java 。 但这里是我的2美分的build议总是试图处理在XML (至less基本的东西)的观点相关的东西,所以我会build议,而不是处理这个用例在javaxml属性

  <EditText android:inputType="textPassword"/> 

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

 android:password="true" 

编辑:我只是重新读你的post,也许你需要在施工后做到这一点。 我不明白为什么你的代码片段不起作用。