如何在搜索视图中限制特殊字符和数字?

3
如何在搜索视图控件中仅允许字母(无特殊字符)?
我尝试了以下方法,但它没有起作用,它允许任何字符:
searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL);

(我不想使用编辑框,其中有一个选项可以在XML属性本身中设置数字。)

文档:TextView.inputMethod

我该如何使这个工作?


你找到解决方案了吗? - hypd09
2个回答

0
你可以试着像这样做。
EditText searchView= (EditText) findViewById(R.id.txtState);
Pattern ps = Pattern.compile("^[a-zA-Z ]+$");
                Matcher ms = ps.matcher(searchView.getText().toString());
                boolean bs = ms.matches();
                if (bs == false) {
                    if (ErrorMessage.contains("invalid"))
                        ErrorMessage = ErrorMessage + "search,";
                    else
                        ErrorMessage = ErrorMessage + "invalid search,";

                }

0

你可以尝试以下方法:

searchView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PERSON_NAME);

或者,您可以对输入的文本进行检查。此功能是用于检查字符串是否仅包含字母的 Kotlin 扩展函数。

/**
 *
 *  *  Method to validate text for only alphabets
 */
fun String.isOnlyAlphabets(): Boolean {
    return Pattern.compile("^[a-zA-Z ]+$").matcher(this).matches()
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接