Android en el oyente de cambio de texto

Tengo una situación, donde hay dos campos.field1 yfield2. Todo lo que quiero hacer es vaciarfield2 cuandofield1 Se cambia y viceversa. Así que al final solo un campo tiene contenido.

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("");
   }
  });

Funciona bien si adjuntoaddTextChangedListener afield1 Solo, pero cuando lo hago para ambos campos, la aplicación falla. Obviamente porque intentan cambiarse mutuamente de forma indefinida. Una vezfield1 cambios se borrafield2 en este momentofield2 se cambia para que se borrefield1 y así...

¿Alguien puede sugerir alguna solución?

Respuestas a la pregunta(7)

Su respuesta a la pregunta