2
street = (EditText) findViewById(R.id.street);
InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) { 
        for (int i = start; i < end; i++) { 
             if (!Character.isLetterOrDigit(source.charAt(i)) || !Character.isSpaceChar(source.charAt(i))) { 
                 return "";     
             }     
        }
        return null;   
    }  
};
street.setFilters(new InputFilter[] { filter });

我的edittext能够过滤虚拟键盘上的字符和数字但不占用空格字符..请帮助

4

3 回答 3

3

而不是'||' 我用'&&'替换并得到了答案....

于 2010-12-20T08:08:30.343 回答
0
!Character.isLetterOrDigit(source.charAt(i)) || Character.isSpaceChar(source.charAt(i))

是您想要的代码,假设您不想要空格字符并且只想要数字或字符。

于 2012-03-21T17:58:47.330 回答
0

使用这个条件

for (int i = start; i < end; i++) { 
    if (!Character.isLetterOrDigit(source.charAt(i))) {
        if (!Character.isSpaceChar(source.charAt(i)))
            return "";
    }
}
于 2016-02-06T16:27:55.933 回答