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

Android 带计数器的TextInputLayout-如何不考虑空空间?,android,android-textinputlayout,android-textinputedittext,Android,Android Textinputlayout,Android Textinputedittext,要删除字符串开头和结尾的空格,可以使用trim方法。 问题是,TextInputLayout的计数器仍然对这些空字段进行计数。正如您在屏幕截图中看到的,它将我的输入视为有效输入,因为它只有2个修剪字符(不超过最大值15),但计数器本身仍然显示它超出了允许的限制,因为它也计算了空白。 有没有简单的方法来解决这个问题 我认为,您需要为此创建一个自定义的InputFilter: InputFilter filter = new InputFilter() { public CharSequen

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


我认为,您需要为此创建一个自定义的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过滤器=新的InputFilter(){
公共CharSequence筛选器(CharSequence源、int开始、int结束、,
跨越目的地、内部数据起点、内部数据起点){
for(int i=start;i
请注意,此筛选器将删除所有空格,因此您需要额外的逻辑来删除文本前后的空格


请参阅:

能否发布xml文件。始终发布代码和相关文件我的代码与此问题无关。