2011-01-26 182 views
0

我想允许用户只将某些字符输入到galaxy选项卡(Android 2.2)上的EditText,但会阻止其他所有字符。 OnKeyListener似乎不会对软件键盘做出反应。Android:阻止虚拟键盘上的键

PS:我不想阻止整个范围的字符,如所有数字或所有特殊字符等。让我们说只是字符't'。

请帮忙。一个小时后,我找不到解决方案。

回答

1

我相信你需要好奇和不一致的名字TextWatcher,然后用它拨打EditText.addTextChangedListener()

+0

不,我需要阻止/删除某些字符。我认为这对于TextWatcher来说是不可能的,因为它会在无限循环或崩溃中递归地调用它自己。我用InputFilters找到了一个解决方案。 – StanE 2011-01-26 16:16:24

+0

它可能是因为我已经完成了。自定义的InputFilter虽然可能更好。 – 2011-01-26 16:18:20

0

调用onKeyDown事件,并监听按下的键,如果键是允许的键,则将其添加到您的字符串中,如果没有,则不要将其添加到字符串中。那样,或者在所有无效字符的keydown之后剥离字符串。试试http://www.rgagnon.com/javadetails/java-0030.html就可以得到答案。那是java代码,但我相信所有这一切都转化为android。希望有帮助