アルファベットのみを受け入れ、数値、blackberry の特殊文字を受け入れないようにする方法EditField
。つまり、編集フィールドはアルファベット文字のみを受け入れる必要があります。
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 に答える