-1

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

在此处输入图像描述

4

1 回答 1

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 });

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

请参阅:如何使用 InputFilter 限制 Android 中 EditText 中的字符?

于 2018-03-24T13:45:41.473 回答