需求:用户只能在输入框内输入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中文翻译组
  2. Android(安卓)TextUtils类介绍
  3. Android国际化
  4. android 大文件分割上传(分块上传)
  5. android操作sdcard中的多媒体文件(一)——音乐列表的制作
  6. Android(安卓)API 中文(14) —— ViewStub
  7. 【转】Android中对json的解析和处理
  8. android 读取资源字符串的 方法
  9. Android国际化

随机推荐

  1. Android Studio NDK开发 Execution faile
  2. android gradle assembleRelease 的时候
  3. Android(安卓)OpenGL ES 投影矩阵的设置
  4. Android构建流程——篇三
  5. android 点击 textview 显示和隐藏 的切
  6. Android(安卓)SurfaceView+Canvas画脉搏/
  7. Android通过基站获取地理位置
  8. Android获取网页上的图片的代码
  9. Android NDK开发介绍
  10. Android P WMS简介