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

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

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

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

之前记录的一些空间基本用法,其中包含 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 方法做逻辑判断以及请求服务器数据,动态添加数据

 

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

 

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


 

posted @ 2019-05-17 16:43  冷冷清清风风火火是我  阅读(312)  评论(0)    收藏  举报