【问题标题】:Set InputFilter for white space and maximum length为空白和最大长度设置 InputFilter
【发布时间】:2016-09-27 11:05:49
【问题描述】:

我想使用输入过滤器来防止输入第一个空格并且我的编辑文本的最大长度限制为 200 个字符。

到目前为止,我有这个: 热到我把最大长度放到同一个过滤器中

 private void setInputFilterForEmailAndPwd(final EditText amountEditText) {
	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.isSpace(source.charAt(i))) {
			return "";
		    }
		}
		
		return null;
	    }
	};

	amountEditText.setFilters(new InputFilter[] { filter });
    }



setInputFilterForEmailAndPwd(emailEdit);

【问题讨论】:

  • 试试这个stackoverflow.com/questions/3285412/…>.
  • 我试过了,它不适合我
  • 尝试以下 sn-p :- InputFilter[] filters = new InputFilter[]{new InputFilter.LengthFilter(200), myFirstSpaceFilter}; // myFirstSpaceFilter 是你已经创建的过滤器 amountEditText.setFilters(filters);
  • 它也不会那样工作,我需要在我的方法 setInputFilterForEmailAndPwd 中更改什么才能像这样工作?

标签: android validation android-edittext input-filter


【解决方案1】:

我找到了解决方案 我放了新的输入过滤器,而不是 setInputFilterForEmailAndPwd:

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.isWhitespace(source.charAt(i))) {
			return "";
		    }
		}
		return null;
	    }
	};

然后:

	emailEdit.setFilters(new InputFilter[] { filter, new InputFilter.LengthFilter(200) });

【讨论】:

    猜你喜欢
    • 2011-02-01
    • 2012-09-27
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多