方法一:利用TextWatcher

  1. editText.addTextChangedListener(new TextWatcher() {
  2. private CharSequence temp;
  3. private boolean isEdit = true;
  4. private int selectionStart ;
  5. private int selectionEnd ;
  6. @Override
  7. public void beforeTextChanged(CharSequence s, int arg1, int arg2,
  8. int arg3) {
  9. temp = s;
  10. }
  11. @Override
  12. public void onTextChanged(CharSequence s, int arg1, int arg2,
  13. int arg3) {
  14. }
  15. @Override
  16. public void afterTextChanged(Editable s) {
  17. selectionStart = editText.getSelectionStart();
  18. selectionEnd = editText.getSelectionEnd();
  19. Log.i("gongbiao1",""+selectionStart);
  20. if (temp.length() > Constant.TEXT_MAX) {
  21. Toast.makeText(KaguHomeActivity.this,
  22. R.string.edit_content_limit, Toast.LENGTH_SHORT)
  23. .show();
  24. s.delete(selectionStart-1, selectionEnd);
  25. int tempSelection = selectionStart;
  26. editText.setText(s);
  27. editText.setSelection(tempSelection);
  28. }
  29. }
  30. });

方法二:利用InputFilter

  1. editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)});  //其中100最大输入字数

方法三:在XML中设定

  1. <EditText
  2. .
  3. .
  4. .
  5. android:maxLength="100"
  6. />

从MS平台过来的,有些东西还真是不习惯自己做

Android---3种方式限制EditView输入字数(转载)的更多相关文章

  1. Android 两种方式实现类似水波扩散效果

    原文链接 https://mp.weixin.qq.com/s/M19tp_ShOO6esKdozi7Nlg 两种方式实现类似水波扩散效果,先上图为敬 自定义view实现 动画实现 自定义view实现 ...

  2. android两种方式获取AsyncTask返回值

    获取AsyncTask返回值,在Activity中使用. 引用链接:https://www.oschina.net/code/snippet_725438_49858#72630 [1].[代码] [ ...

  3. Android 三种方式实现自定义圆形进度条ProgressBar

    一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ...

  4. Android 三种方式实现自定义圆形页面加载中效果的进度条

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如 ...

  5. Android 五种方式实现Android底部导航栏

    https://segmentfault.com/a/1190000007697941

  6. WPF中使用文件浏览对话框的几种方式

    原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用 ...

  7. JPA访问数据库的几种方式

    JPA访问数据库的几种方式 本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10901793.html 1. Repository 1.1. 通过 ...

  8. android两种基本联网方式与一种第三方开源项目的使用

    安卓请求网络的三种方式 在请求网络的时候一般常用的提交方式是post或者get请求,post请求安全,传输大小无限制,但是代码量多些,get请求是浏览器有大小限制,用户提交的信息在浏览器的地址栏显示出 ...

  9. Android数据存储五种方式总结

    本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用Cont ...

随机推荐

  1. python内建函数sorted方法概述

    python中,具体到对list进行排序的方法有俩,一个是list自带的sort方法,这个是直接对list进行操作,只有list才包含的方法:另外一个是内建函数sorted方法,可以对所有可迭代的对象 ...

  2. 迭代的模块itertools

    itertools模块提供的全部是处理迭代功能的函数,他们的返回值不是list,而是迭代对象,只有在for循环的时候才会真正去计算. 使用迭代器的好处是在循环的时候才去取值,而直接返回值为list的结 ...

  3. 10个优质PSD文件资源下载

    很多设计需求并不一定要从头开始设计,你完全可以通过已有的灵感或素材开始设计任务.这个时候你可能需要一些PSD资源作为参考.今天我整理了一些常用的PSD资源供需要的朋友免费下载使用. Web & ...

  4. Python:映像、集合

    一.字典 字典(dictionary)是Python中唯一的“映射”类型,映射这个概念在高中就学过:一个函数f将键(key, 定义域)映射到值(value, 值域).这样的函数在字典中可以称为哈希(H ...

  5. IOS自动布局

    参考资料 https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AutolayoutPG/Vi ...

  6. Java基础 —— CSS

    CSS:层叠样式表(Cascading Style Sheets) --> 提高显示功能,定义样式 html提供了div与span,只为了封装文本数据,div为一行数据,span为行内的数据. ...

  7. ASP.NET 管道事件与HttpModule, HttpHandler简单理解 -摘自网络

    第一部分:转载自Artech  IIS与ASP.NET管道 ASP.NET管道 以IIS 6.0为例,在工作进程w3wp.exe中,利用Aspnet_ispai.dll加载.NET运行时(如果.NET ...

  8. JS认证Exchange

    function ExchangeLogin() { vstrServer='<%=LocationUrl %>' vstrDomain = '<%=userLogin.AD %&g ...

  9. dom cookie记录用户名

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  10. Delphi IOS环境安装

    RAD Delphi XE/10 Seattle 安装IOS.OSX环境安装,IOS模拟器,MAC X 真机可以调试 http://community.embarcadero.com/blogs/en ...