【发布时间】:2011-01-26 15:36:09
【问题描述】:
我想允许用户在 Galaxy 选项卡 (Android 2.2) 上的 EditText 中仅输入某些字符,但阻止所有其他字符。 OnKeyListener 似乎对软键盘没有反应。
PS:我不想阻止整个字符范围,例如所有数字或所有特殊字符等。假设只是字符“t”。
请帮忙。一个小时后我找不到解决方案。
【问题讨论】:
我想允许用户在 Galaxy 选项卡 (Android 2.2) 上的 EditText 中仅输入某些字符,但阻止所有其他字符。 OnKeyListener 似乎对软键盘没有反应。
PS:我不想阻止整个字符范围,例如所有数字或所有特殊字符等。假设只是字符“t”。
请帮忙。一个小时后我找不到解决方案。
【问题讨论】:
我相信您需要奇怪且不一致的名称TextWatcher,然后用它调用EditText.addTextChangedListener()。
【讨论】:
调用 onKeyDown 事件,并监听按下的键,如果键是允许的,则将其添加到您的字符串中,如果不是,则不要将其添加到字符串中。那,或者在所有无效字符的 keydown 之后剥离字符串。尝试http://www.rgagnon.com/javadetails/java-0030.html 以获得答案。那是java代码,但我相信所有这些都会延续到android中。希望有帮助
【讨论】: