android - 在edittext android中限制来自google-indic键盘的“pi”符号
问题描述
我需要限制 android edittext 只允许字母数字字符以及以下字符:空格、'.'、'_'和'-'。
我为此使用了以下代码段:
filters[1] = new InputFilter() {
public CharSequence filter(CharSequence source, int start,
int end, Spanned dest, int dstart, int dend) {
if (source instanceof SpannableStringBuilder) {
SpannableStringBuilder sourceAsSpannableBuilder = (SpannableStringBuilder) source;
for (int i = end - 1; i >= start; i--) {
char currentChar = source.charAt(i);
String strCurrentChar = String.valueOf(currentChar);
if (!Character.isLetterOrDigit(currentChar)
&& !".".equals(strCurrentChar)
&& !"_".equals(strCurrentChar)
&& !" ".equals(strCurrentChar)) {
sourceAsSpannableBuilder.delete(i, i + 1);
}
}
return source;
} else {
StringBuilder filteredStringBuilder = new StringBuilder();
for (int i = start; i < end; i++) {
char currentChar = source.charAt(i);
String strCurrentChar = String.valueOf(currentChar);
if (Character.isLetterOrDigit(currentChar)
|| ".".equals(strCurrentChar)
|| "_".equals(strCurrentChar)
|| " ".equals(strCurrentChar)) {
filteredStringBuilder.append(currentChar);
}
}
return filteredStringBuilder.toString();
}
}
};
它可以正常工作,限制除 google-indic 键盘中的数学 'pi' 符号之外的所有其他字符。我怎样才能限制它,以便完全满足要求?
解决方案
推荐阅读
- javascript - How can I get the innerHTML of a text that is overwritten with javascript
- javascript - Different RegExp in JS and PHP
- python - 抓取网页
- (Python)
- c - deleting line without temporary file in C
- python - For loop to reference external .txt file contents
- autodesk-forge - 需要 Autodesk Viewer UI 代码位置和编辑建议
- java - Retrieve HTML content refreshed with Ajax
- f# - 创建函数以查找列表中的最大元素时出错
- c++ - Why is it OK to initialize global variable with result from inline assembly code?
- html - 如何用css制作对角线