解决问题:两个EditText互相监听会造成死循环,导致app处于假死状态 转载请标明出处:http://blog.csdn.net/collorye/article/details/71215998
1.添加标志位,标志是否被编辑
private boolean flag = true;2.添加TextWatcher监听器
(1)第一个监听器 class TextWatcher1 implements 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 (!TextUtils.isEmpty(editable.toString())) { if (flag) { flag = false; mEt2.setText((Double.parseDouble(editable.toString()) / 10) + ""); } else { flag = true; } } } } (2)第二个监听器 class TextWatcher2 implements 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 (!TextUtils.isEmpty(editable.toString())) { if (flag) { flag = false; mEt1.setText((Double.parseDouble(editable.toString()) * 10) + ""); } else { flag = true; } } } }3.设置监听
TextWatcher1 textWatcher1 = new TextWatcher1(); TextWatcher2 textWatcher2 = new TextWatcher2(); mEt1.addTextChangedListener(textWatcher1); mEt2.addTextChangedListener(textWatcher2);总结:以上简单的三步就可以使两个EditText互相监听造成的死循环解决了