EditText - Ändert den Text während der Eingabe

Ich muss den Text im EditText während der Eingabe ersetzen: Beispiel: Wenn der Benutzer "A" gedrückt hat, wird er in einem Puffer gespeichert und im EditText wird stattdessen "D" angezeigt (sieht aus, als hätte er "D" gedrückt). Jetzt kann ich das gedrückte Zeichen lesen, aber ich kann kein Zeichen im et anzeigen, um einen Stapelüberlauf zu vermeiden:

final EditText et = (EditText) findViewById(R.id.editTexts);
    final TextView tv = (TextView) findViewById(R.id.textView2);

    et.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) {
                if(s.length() > 0) {
                    tv.setText(s.toString().substring(s.length()-1));
                    et.setText("");
                }
            }
    });

Antworten auf die Frage(3)

Ihre Antwort auf die Frage