I have a EditText
, and I would like to restrict the number of characters which could be inputted in this EditText
, and make this restriction programmatically, how to do it? For example, say I would like to restrict it to only allow 10 characters.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can Use InputFilter for restricting the number of characters in EditView programmatically as:
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(10);
your_edittext.setFilters(FilterArray);
for more help you can see this tutorial for restricting number of characters in EditView:
http://www.tutorialforandroid.com/2009/02/maxlength-in-edittext-using-codes.html
回答2:
I would implement a filter:
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.length > 10){
//cancel the edit or whatever
}
}
};
EditText editText = (EditText) findViewById(R.id.rg);
editText.setFilters(new InputFilter[] {filter});
回答3:
public void setEditTextMaxLength(int length) {
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(length);
edt_text.setFilters(FilterArray);
}
回答4:
Try this my friend easy game easy life
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(5);
input.setFilters(FilterArray);