方法一:利用TextWatcher
- editText.addTextChangedListener(new TextWatcher() {
- private CharSequence temp;
- private boolean isEdit = true;
- private int selectionStart ;
- private int selectionEnd ;
- @Override
- public void beforeTextChanged(CharSequence s, int arg1, int arg2,
- int arg3) {
- temp = s;
- }
- @Override
- public void onTextChanged(CharSequence s, int arg1, int arg2,
- int arg3) {
- }
- @Override
- public void afterTextChanged(Editable s) {
- selectionStart = editText.getSelectionStart();
- selectionEnd = editText.getSelectionEnd();
- Log.i("gongbiao1",""+selectionStart);
- if (temp.length() > Constant.TEXT_MAX) {
- Toast.makeText(KaguHomeActivity.this,
- R.string.edit_content_limit, Toast.LENGTH_SHORT)
- .show();
- s.delete(selectionStart-1, selectionEnd);
- int tempSelection = selectionStart;
- editText.setText(s);
- editText.setSelection(tempSelection);
- }
- }
- });
方法二:利用InputFilter
- editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)}); //其中100最大输入字数
方法三:在XML中设定
- <EditText
- .
- .
- .
- android:maxLength="100"
- />
从MS平台过来的,有些东西还真是不习惯自己做