Android---3种方式限制EditView输入字数(转载)
方法一:利用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平台过来的,有些东西还真是不习惯自己做
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决