У меня ситуация, когда есть два поля. field1 и field2. Все что я хочу
do - пустой field2 при изменении field1 и наоборот. Так что в конце только
в одном поле есть содержимое.
field1 = (EditText)findViewById(R.id.field1);
field2 = (EditText)findViewById(R.id.field2);
field1.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
field2.setText("");
}
});
field2.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
field1.setText("");
}
});
Работает нормально, если я присоединяю addTextChangedListener только к field1, но когда
Я делаю это для обоих полей приложение вылетает. Очевидно, потому что они пытаются изменить
друг друга до бесконечности. Как только field1 изменяется, он очищает field2 в этот момент
field2 изменен, поэтому он очистит field1 и так далее...
Может кто-нибудь предложить какое-нибудь решение?