从onTextChangeListener更改的EditText文本()(Change EditTe

2019-06-27 13:59发布

我在Android application.In我的应用我必须使用基于text.So我写的图像时OnChangeListener()EditText 。下面是我的示例代码。

edt.addTextChangedListener(this);  
@Override
public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
    CharSequence cs=convert(edt.getText.toString());
            edt.setText(cs);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
        int after) {
    // TODO Auto-generated method stub


}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
    // TODO Auto-generated method stub


}

但我得到异常的上述code.I知道异常的原因是调用setText()afterTextChanged()方法。 但是,我必须改变EditText基于相同的文本值EditText文本change.Help我的朋友

Answer 1:

您设置文本之前,只需简单地删除你的监听器,然后重新注册它在完成后,喜欢这里描述:

加入onTextChanged后实行清晰的EditText文本



Answer 2:

还有一个解决方案可以使用布尔变量,因此它不会进入无限调用堆栈,并最终让stackoverflow exception

public void afterTextChanged(Editable s) {
    if(!flag) 
    {
            flag = true;

            edt.setText("string");

            flag = false;
    }
}


文章来源: Change EditText text from onTextChangeListener()