2016-09-27 31 views
0

我想使用输入过滤器,我可以防止输入过滤器,并且我的编辑文本的最大长度限制为200个字符。设置输入过滤器的空白区域和最大长度

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

private void setInputFilterForEmailAndPwd(final EditText amountEditText) { 
 
\t InputFilter filter = new InputFilter() { 
 
\t  public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
 
\t \t for (int i = start; i < end; i++) { 
 
\t \t  if (Character.isSpace(source.charAt(i))) { 
 
\t \t \t return ""; 
 
\t \t  } 
 
\t \t } 
 
\t \t 
 
\t \t return null; 
 
\t  } 
 
\t }; 
 

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

 

 

 
setInputFilterForEmailAndPwd(emailEdit);

+1

尝试此。 –

+0

我试过了,它不适用于我 – Katherina

+1

请尝试以下代码片段: - InputFilter [] filters = new InputFilter [] {new InputFilter.LengthFilter(200),myFirstSpaceFilter}; // myFirstSpaceFilter是您已创建的过滤器 amountEditText.setFilters(filters); –

回答

0

我找到了解决办法 我提出了新的输入滤波器,而不是setInputFilterForEmailAndPwd:

InputFilter filter = new InputFilter() { 
 
\t  public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
 
\t \t for (int i = start; i < end; i++) { 
 
\t \t  if (Character.isWhitespace(source.charAt(i))) { 
 
\t \t \t return ""; 
 
\t \t  } 
 
\t \t } 
 
\t \t return null; 
 
\t  } 
 
\t };

然后:

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