牛骨文教育服务平台(让学习变的简单)
博文笔记

Android Editext 监听死循环记录

创建时间:2017-05-26 投稿人: 浏览次数:531
在做项目时遇到一个事,一个界面有多个Editext,然后给多个Editext都设置监听后,在afterTextChanged中调用settext后导致了死循环,太奇葩了,以前没有遇到过,现在碰到了,怎么看都是个bug啊,马丹
解决办法:

那么简单的解决办法之前就是调用setText之前暂时去掉此监听器, 然后再恢复添加自身即可.

xxxEdit.addTextChangedListener(new TextWatcher() {

    @Override    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
    @Override

    public void afterTextChanged(Editable s) {

     

     xxxEdit.removeTextChangedListener(this);

     xxxEdit.setText("新取值");

     xxxEdit.addTextChangedListener(this);

    }

});

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。