java - Android 中用于双击空格的自定义键盘输入过滤器

标签 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;
    }
};

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

当我运行应用程序时,在过滤器中,我在第一次调用时有一个空格,然后是一个空字符串(意味着删除),在最后一次调用中有“.”字符串。

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

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

谢谢大家

最佳答案

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


对我有用

enter image description here

关于java - Android 中用于双击空格的自定义键盘输入过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25531130/

相关文章:

java - java中从一行中删除px的正则表达式

java - 如何使用带有 Action 监听器的方法?

java - Android Studio 查看整个 LogCat 日志

android - 如何在 android 中监听网络连接

java - EditText 中的 maxLength 属性无法通过 xml 和 java 正常工作

java - 如何生成 UTC 格式的 java.sql.Timestamp 用于查询比较?

java - 通过 Youtube API 上传 Youtube 视频时出现长描述错误

android - 导入错误:没有名为 oauth2client 的模块

java - 在 EditText 上使用 TextWatcher 在 android 中实时计算总数和总和?