带计数器的TextInputLayout - 如何不考虑空格?

时间:2018-03-24 13:13:01

标签: android android-textinputlayout android-textinputedittext

要在开头和结尾删除String的空格,我们可以使用trim方法。 问题是,TextInputLayout的计数器仍会计算这些空字段。正如您在屏幕截图中看到的那样,它将我的输入视为有效,因为它只有2个修剪过的字符(最多不超过15个),但计数器本身仍然显示它超过了允许的限制,因为它很重要空的空间也是如此。 有没有一种简单的方法来解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要为我认为创建自定义 InputFilter

InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,
            Spanned dest, int dstart, int dend) {
        for (int i = start; i < end; i++) {
            if (Character.isSpaceChar(source.charAt(i))) {
                return "";
            }
        }
        return null;
    }
};
edit.setFilters(new InputFilter[] { filter });

请注意,此过滤器会删除所有空格,因此您需要额外的逻辑来删除文本前后的那些

请参阅:How do I use InputFilter to limit characters in an EditText in Android?