需求:用户只能在输入框内输入15个字节的字符(15个英文字符或5个中文字符)
了解:一个英文字符在Android中占一个字节,一个中文字符在Android中占3个字节
代码
public class MainActivity extends AppCompatActivity {    private EditText mEditText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mEditText = (EditText) findViewById(R.id.etInput);        mEditText.addTextChangedListener(new MyTextWatcher(this, mEditText, 15));    }    private class MyTextWatcher implements TextWatcher {        private Context context;        private EditText editText;        private int len; //允许输入的字节长度(一个中文占3个字节)        public MyTextWatcher(Context context, EditText editText, int len) {            this.context = context;            this.editText = editText;            this.len = len;        }        @Override        public void beforeTextChanged(CharSequence s, int start, int count, int after) {        }        @Override        public void onTextChanged(CharSequence s, int start, int before, int count) {        }        @Override        public void afterTextChanged(Editable editable) {            String inputStr = editable.toString().trim();            byte[] bytes = inputStr.getBytes();            if (bytes.length > len) {                Toast.makeText(context, "超过规定字符数", Toast.LENGTH_SHORT).show();                Log.i("str", inputStr);                //取前15个字节                byte[] newBytes = new byte[len];                for (int i = 0; i < len; i++) {                    newBytes[i] = bytes[i];                }                String newStr = new String(newBytes);                editText.setText(newStr);                //将光标定位到最后                Selection.setSelection(editText.getEditableText(), newStr.length());            }        }    }}

更多相关文章

  1. Android API 中文(14) —— ViewStub
  2. Android中文翻译组
  3. android 读取资源字符串的 方法
  4. Android 中文 API (22) ―― MultiAutoCompleteTextView
  5. Android开发便签9:在android资源文件中定义字符串数组
  6. Android 中文 API (30) ―― CompoundButton.OnCheckedChangeListe
  7. Android 3.0 r1中文API文档(104) —— ViewTreeObserver
  8. Android 中文API (61) ―― ViewSwitcher
  9. Android API中文文档(111) ―― MailTo

随机推荐

  1. 获得SDCard的路径
  2. Android开发入门之学习笔记(四):程序窗口的
  3. android之相机开发
  4. 手动root android 模拟器(emulator)详细
  5. Android开发必备的免费资源和工具
  6. 浅入浅出Android(000):Hello Android
  7. 去掉Android(安卓)USB授权框
  8. Android(安卓)C编程技巧
  9. Android学习笔记(一)
  10. 学习android前的环境配置,准备工作,安装and