我有一个EditText,我想屏蔽字符值但连字符。例如,“11-11”理想地显示为“** - **”。
我知道如果在EditText配置中定义android:password =“true”,它将屏蔽所有字符(最后输入的值除外)。有没有办法覆盖该功能以明文形式显示连字符?
*编辑 - 移动答案无可置疑......
答案 0 :(得分:1)
如果将来有人想知道怎么做,我想出来了。我扩展了PasswordTransformationMethod,并覆盖了getTransformation()。不幸的是,该类的作者没有使它具有一点点可扩展性,因此我最终必须复制私有类PasswordCharSequence and Visible的所有代码。
允许连字符的实际更改很简单。我换了:
if (!visible) {
dest[i - start + off] = DOT;
}
使用:
if (!visible && dest[i - start + off] != '-') {
dest[i - start + off] = DOT;
}
希望有人帮助。另外,如果有人找到解决此问题的更清晰的解决方案,我会感兴趣。
*编辑 - 实际上,我只是注意到遮蔽不适用于横向...当我弄清楚时,我会更新它。