如何防止EditText中单词之间的多个空格?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止EditText中单词之间的多个空格?相关的知识,希望对你有一定的参考价值。

我试图找到一种方法来防止EditText中的单词之间的多个空格,并防止前导空格。我尝试用TextWatcher这样做,但我无法弄清楚如何做到这一点。任何帮助,将不胜感激。

答案

您可以使用InputFilter执行此操作。随意使用此代码段:

InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,
                               Spanned dest, int dstart, int dend) {
        String stringSource = source.toString();
        String stringDest = dest.toString();
        if (stringSource.equals(" ")) {
            if (stringDest.length() == 0)
                return "";
            if (stringDest.length() >= 1)
                if ((dstart > 0 && txt2.charAt(dstart - 1) == ' ') || (txt2.length() >  dstart && txt2.charAt(dstart) == ' ') || dstart == 0)
                    return "";
        }
        return null;
    }
};
editText.setFilters(new InputFilter[]{filter});

这是我的应用程序的结果:

enter image description here

希望这可以帮助!

以上是关于如何防止EditText中单词之间的多个空格?的主要内容,如果未能解决你的问题,请参考以下文章

HTML中单词之间的多个空格

将带有空格的纯文本从 EditText 发送到 mysql 数据库?

c ++如何提取单词之间的空格(如果有的话)

编写程序,输入字符串(包含空格),统计其中单词的个数,单词之间以一个或多个空格分隔。

如何在句子列表中的单词和左括号之间创建空格

如何在 bash shell 中将一个字符串拆分为多个字符串,至少用一个空格分隔?