android:digits 代码设置,EditText中android:digits失效问题
需求:密碼輸入要求指定字符串,畫面中可以切換密碼顯示與隱藏
原先代碼如下:
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失效问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux jetty 安装目录结构,L
- 下一篇: 怎么在linux的cmd中运行c项目,如