【问题标题】:Can't make an edit text type password无法编辑文本类型密码
【发布时间】:2021-05-01 20:18:24
【问题描述】:
我创建了一个自定义编辑文本,但有些奇怪,我可以为它选择除密码类型之外的所有输入类型,我已经尝试使用输入类型 TYPE_TEXT_VARIATION_PASSWORD、TYPE_TEXT_VARIATION_WEB_PASSWORD 以及 transformationMethod PasswordTransformation()、rawInputType 和 maxlines = 1也!但是什么都没有,我可以通过代码设置我的编辑文本的文本,并在模拟器中显示为密码格式,但是当我专注于继续编写时,所有转换为正常输入类型的文本。我不知道为什么。有人可以帮助我吗?
解决方案
我终于找到了解决办法,问题是我把属性单行设置为true,而且密码输入类型和转换方法似乎只适用于maxlines,所以我只需要删除它就可以了。谢谢大家!
【问题讨论】:
标签:
android
kotlin
android-edittext
passwords
【解决方案1】:
试试android:inputType="textPassword":
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
tools:text="12345" />
以编程方式:
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
或者:
password.setTransformationMethod(PasswordTransformationMethod.getInstance());
【解决方案2】:
试试这个
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
tools:text="aaaaa" />
【解决方案3】:
解决方案
我终于找到了解决办法,问题是我把属性单行设置为true,而且密码输入类型和转换方法似乎只适用于maxlines,所以我只需要删除它就可以了。谢谢大家!
【解决方案4】:
仅更改 XML 文件或 JAVA 文件上的 éditent 类型输入
XML
android:inputType="mySecret"
JAVA
password.setInputType( InputType.TYPE_TEXT_VARIATION_PASSWORD);