0

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

4

2 に答える 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 に答える