如何使EditField
哪个只接受字母并且它不应该接受任何数字,blackberry.ie 中的任何特殊字符)该编辑字段应该只接受字母字符。
问问题
1140 次
2 回答
1
您可以创建自己的类(即 AlphaEditField)并让它扩展 EditField。然后覆盖 keyDown 函数来做你想做的事,像这样:
protected boolean keyDown(int keycode, int time) {
char ch = net.rim.device.api.ui.Keypad.map(keycode);
if(Character.isUpperCase(ch) || Character.isLowerCase(ch)) {
return super.keyDown(keycode, time);
}
return false;
}
大写和小写函数将为任何无法定义的字符返回 false 以防万一,也就是...任何不在字母表中的字符。
于 2009-10-19T12:24:15.293 回答
1
我会像这样定义一个TextFilter:
myEditField.setFilter(new TextFilter(){
public char convert(char character, int status) {
return character; // because you're trying to disallow characters, not convert them.
}
public boolean validate(char character) {
return (Character.isUpperCase(character) || Character.isLowerCase(character));
}
});
于 2010-01-28T22:57:37.853 回答