我有一个EditText,我想在其中屏蔽字符值,但要使用连字符。例如,"11-11“理想情况下会显示为"**-**”。
我知道如果您在EditText配置中将android:password=定义为“true”,它将屏蔽所有字符(除了最后输入的值)。有没有办法覆盖该功能,以明文显示连字符?
*编辑-将答案移出问题...
发布于 2011-04-29 08:42:07
如果将来有人想知道该怎么做,我想明白这一点。我扩展了PasswordTransformationMethod,并覆盖了getTransformation()。不幸的是,该类的作者并没有让它具有丝毫的可扩展性,所以我最终不得不复制私有类PasswordCharSequence and Visible的所有代码。
允许连字符的实际更改很简单。我替换了:
if (!visible) {
dest[i - start + off] = DOT;
}通过以下方式:
if (!visible && dest[i - start + off] != '-') {
dest[i - start + off] = DOT;
}希望这能帮助到一些人。另外,如果有人能为这个问题找到一个更干净的解决方案,我会很感兴趣。
*编辑-实际上,我只是注意到蒙版在横向方向上不起作用...当我弄清楚的时候,我会更新这个。
https://stackoverflow.com/questions/5670809
复制相似问题