Android中的自定义键盘输入过滤器,用于双击空间

时间:2014-08-27 15:24:49

标签: java android android-input-filter

我有Android应用的自定义过滤器

public static InputFilter alphaNumericFilter = new InputFilter()
{

    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
    {
        for (int i = start; i < end; i++)
        {
            char ch = source.charAt(i);
            //only Latin lowercase uppercase and digit allowed
            if( !((ch>='a' && ch<='z') || (ch>='A' && ch<='Z') || (ch>='0' && ch<='9')))
            {
                return "";
            }
        }

        return null;
    }
};

我遇到的问题是,在某些设备中,当您双击空格键时,它会将其转换为&#34;。 &#34; (空格和点)。

当我运行应用程序时,在过滤器中我在第一个调用中有空格,然后是空字符串(表示删除),在最后调用中是&#34;。 &#34;字符串。

结果是当你双击空格键时,它会从输入文本中删除两个字符,我只是希望它在这种情况下什么都不做。

有什么方法可以避免这种情况吗?请帮助!

谢谢大家。

2 个答案:

答案 0 :(得分:0)

您必须在移动键盘应用中禁用自动更正和自动更正以及自动完成选项。

它对我有用

enter image description here

答案 1 :(得分:-2)

取消选中键盘首选项中的双倍空格句号。