在低版本的Android中设置EditText只能输入数字密码时只需要在布局文件中设置
android:inputType="numberPassword"
在高版本的Android系统中则不生效。
在高版本中实现有如下三种方式
1.设置addTextWacher,在监听到数据不是数字后直接删除
2.设置InputFilter,其原理与addTextWathcer基本一致
3.设置inputType组合与transformationMethod,示例如下:
fun forceInputNumberPwd(editText: EditText?) {
editText?.apply {
inputType = InputType.TYPE_CLASS_NUMBER or InputType.TYPE_NUMBER_VARIATION_PASSWORD
transformationMethod = PasswordTransformationMethod.getInstance()
}
}
网友评论