您的位置:首页 > 移动开发 > Android开发

解决Android的EditText的addTextChangedListener监听的死循环问题

2017-11-30 09:08 483 查看
addTextChangedListener()可以时刻监听EditText的值得变化,但是如果在同一个界面出现多个EditText使用addTextChangedListener(),就会出现死循环的现象。解决这一方法有很多种,比如什么重写EditText,或者让EditText获得焦点后再执行addTextChangedListener()。在这里我向大家提供一个更简单快捷的办法。

首先,定义一个标示flag,代码如下:

[java] view
plain copy

private boolean flag=false;//标记edittext不会死循环  

接下来,实现edittext的addTextChangedListener()监听事件,代码如下:

[java] view
plain copy

editText.addTextChangedListener(new TextWatcher() {  

            @Override  

            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {  

  

            }  

  

            @Override  

            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {  

  

  

            }  

  

            @Override  

            public void afterTextChanged(Editable editable) {  

                if (flag) {  

                    return;  

                }  

                flag = true;  

                /** 

                 * 

                 * 这部分是业务逻辑的代码块 

                 */  

                flag = false;  

            }  

        });  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐