EditText 文本内容输入限制

实现InputFilter过滤器,需要覆盖一个叫filter的方法。
public abstract CharSequence filter ( CharSequence source, int start, int end,Spanned dest, int dstart,int dend);

source, //输入的文字 start, //输入的文字 end, //结束位置 

用键盘输入source则为单个字符,start为0,end为1;粘帖时source为一串字符。

dest, //当前显示的内容  dstart, //当前开始位置 dend //当前结束位置


<span style="font-family:Times New Roman;font-size:14px;">import android.text.Spanned; 

EditText editText2=(EditText) findViewById(R.id.editText2); 
editText2.setFilters(new InputFilter[]{ 
<span style="white-space:pre">	</span>new InputFilter.LengthFilter(5), <span style="white-space:pre">	</span>//最大能输入5个字符 
<span style="white-space:pre">	</span>new InputFilter.AllCaps(), <span style="white-space:pre">			</span>//将所有输入的小写字母变成大写字母 
<span style="white-space:pre">	</span>new InputFilter() { <span style="white-space:pre">				</span>//设置自己的filter 
<span style="white-space:pre">		</span>public CharSequence filter(CharSequence source, int start, int end, Spanned dst, int dstart, int dend) {   
<span style="white-space:pre">			</span>if("1".equals(source.toString())){
<span style="white-space:pre">				</span>return "一";
<span style="white-space:pre">			</span>}else if("2".equals(source.toString())){
<span style="white-space:pre">				</span>return "二";
<span style="white-space:pre">			</span>}else{
<span style="white-space:pre">				</span>return null; 
<span style="white-space:pre">			</span>}
<span style="white-space:pre">		</span>} 
<span style="white-space:pre">	</span>}
});</span>


posted on 2014-10-16 17:02  anyuan9  阅读(223)  评论(0编辑  收藏  举报

导航