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