概述
需求:密码输入要求指定字符串,画面中可以切换密码显示与隐藏
原先代码如下:
xml:
android:id="@+id/set_password_txt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="10dp"
android:hint="@string/sign_in_regist_set_pw"
android:textColor="@color/white"
android:textColorHint="@color/gray_white"
android:textCursorDrawable="@null"
android:inputType="textPassword"
android:digits="@string/register_pw_digits"
android:background="@null"/>
register_pw_digits在string中定义:~!@#$%^&*():";',./|[]{}?-=+_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
JAVA中显示密码:
mPW.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
隐藏密码:
mPW.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
问题出现:当输入表情时居然可以输入!!!!android:digits失效!!
解决:
JAVA中不能使用setInputType改变密码显示及隐藏
而使用以下方法:
显示密码:
mPW.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
隐藏密码:
mPW.setTransformationMethod(PasswordTransformationMethod.getInstance());
原因:估计是setInputType在底层实现时会覆盖android:digits的设置。具体求大神解析。
最后
以上就是文静钥匙为你收集整理的android:digits 代码设置,EditText中android:digits失效问题的全部内容,希望文章能够帮你解决android:digits 代码设置,EditText中android:digits失效问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复