Android编程实现实时监听EditText文本输入的方法
程序员文章站
2023-11-27 14:48:28
本文实例讲述了android编程实现实时监听edittext文本输入的方法。分享给大家供大家参考,具体如下:
平时在做android开发过程中经常要用到edittext,...
本文实例讲述了android编程实现实时监听edittext文本输入的方法。分享给大家供大家参考,具体如下:
平时在做android开发过程中经常要用到edittext,有时候可能需要监听你在textview中输入的字数的状态和变化,以便于我们能做相应的提示和操作。我们可以通过下面的方式来实现。
class editchangedlistener implements textwatcher { private charsequence temp;//监听前的文本 private int editstart;//光标开始位置 private int editend;//光标结束位置 private final int charmaxnum = 10; @override public void beforetextchanged(charsequence s, int start, int count, int after) { if (debug) log.i(tag, "输入文本之前的状态"); temp = s; } @override public void ontextchanged(charsequence s, int start, int before, int count) { if (debug) log.i(tag, "输入文字中的状态,count是一次性输入字符数"); mtvavailablecharnum.settext("还能输入" + (charmaxnum - s.length()) + "字符"); } @override public void aftertextchanged(editable s) { if (debug) log.i(tag, "输入文字后的状态"); /** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */ editstart = medittextmsg.getselectionstart(); editend = medittextmsg.getselectionend(); if (temp.length() > charmaxnum) { toast.maketext(getapplicationcontext(), "你输入的字数已经超过了限制!", toast.length_long).show(); s.delete(editstart - 1, editend); int tempselection = editstart; medittextmsg.settext(s); medittextmsg.setselection(tempselection); } } };
加上监听的事件。
medittextmsg.addtextchangedlistener(new editchangedlistener());
效果图:
更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android开发入门与进阶教程》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android数据库操作技巧总结》及《android资源操作技巧汇总》
希望本文所述对大家android程序设计有所帮助。