EditText输入框的监听(输入完成、完成后)的方法

EditText输入框的监听(输入完成、完成后)的方法

常用的EditText,是否有时也会让你疑惑不解。遇到问题还是先冷静思考,说白了问题大同小异,但实际都是深层次的基础没掌握好。

addTextChangedListener()是TextView的方法,EditText继承自TextView,当然也有这个方法。
从官方的介绍可知,添加了TextWatcher后,每当TextView的文本改变时,TextWatcher的那几个方法就会被调用。

另外一句,是关于在 afterTextChanged (Editable s)中setTest()的一些问题,也就是在监测”改变后”状态的方法又去改变那个文本,这样想想都容易出问题,不是我目前关心的内容,所以忽略。

之前记录的一些空间基本用法,其中包含 EditText基本属性介绍

 

EditText输入框的监听(输入完成、完成后)的方法

 

关于TextWatcher那几个方法的解释

它那几个方法,分别监测了文本”改变前”、”改变时”、”改变中”三种状态。


        mEditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                //这个方法被调用,说明在s字符串中,从start位置开始的count个字符即将被长度为after的新文本所取代。
                // 在这个方法里面改变s,会报错。
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                //这个方法被调用,说明在s字符串中,从start位置开始的count个字符刚刚取代了长度为before的旧文本。
                // 在这个方法里面改变s,会报错。
            }
            @Override
            public void afterTextChanged(Editable s) {
                //这个方法被调用,那么说明s字符串的某个地方已经被改变。
            }
        });

在onTextChanged 方法做逻辑判断以及请求服务器数据,动态添加数据

 

还有在请求数据的时候,加载提示框,会对输入监听造成影响。建议在输入请求数据的时候,把该请求的加载去掉。

 

欢迎留言交流,书到用时方恨少,纸上得来终觉浅。共勉!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115025.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spider(二) 爬虫的工作流程

    spider(二) 爬虫的工作流程

    2021年8月8日
    54
  • 常数变易法举例_常数变易法怎么想出来的

    常数变易法举例_常数变易法怎么想出来的1.4常数变易法常数变异的思考方法当程序中有许多因素都在变动的时候,我们可以假设其中的某些变数为常数,把他们写成固定的死值。将来再用变量替换。星号金字塔常数变异典型应用 打印这个金字塔:             *            **           ***           ****          **

    2025年7月5日
    1
  • php双分支语句三个数排序「建议收藏」

    php双分支语句三个数排序「建议收藏」<?php$a = rand(100,999);$b = rand(100,999);$c = rand(100,999);echo “a=”.”$a”.”<br>”;echo “b=”.”$b”.”<br>”;echo “c=”.”$c”.”<br>”;if(($a > $b ) && ($a > …

    2022年8月19日
    13
  • chrome加载慢_多线程有什么用

    chrome加载慢_多线程有什么用谷歌浏览器采用的是单线程下载,想要提高下载速度,就得采用多线程的下载方式,Chrome默认还是单线程下载,如果想要谷歌多线程下载,就要手动开启,下面听MacW小编娓娓道来,介绍如何开启Chrome多线程下载!先来看看开启前的下载速度,(同一个文件)看到了吧!默认情况下,只有左右,远没有到达带宽的上限,接下来跟着小编一起开启这个隐藏的功能,国产Chrome内核的浏览器通通适用,包括前段时间推送的新版Edge也可以。chrome://flags/#enable-parallel-downloading

    2022年10月8日
    3
  • 快速排序(Python实现)

    一、算法介绍快速排序是经常考查到的排序算法,这里对快排算法做一下总结。快速排序是“交换”类的排序,它通过多次划分操作实现排序!以升序为例,其执行流程可以概括为:每一趟排序选择当前所有子序列的一个关键字(通常是第一个)作为枢轴量,将子序列中比枢轴量小的移到枢轴前边,比枢轴大的移到枢轴后边,具体过程是一个交替扫描和交换的过程。当本趟所有子序列都被枢轴以上述规则划分完毕后会得到新的一组更短的子序列,…

    2022年4月6日
    52
  • 【C++】动态开辟二维数组

    【C++】动态开辟二维数组

    2022年1月20日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号