2009-10-19 45 views

回答

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不字母表。

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)); 
    } 
});