Android SetText cambia el tipo de teclado

Estoy desarrollando una aplicación para Android que contiene unaEditText.

Controlo lo que está escrito en el editText llamando

et.addTextChangedListener(new TextWatcher() {
    public void afterTextChanged(Editable s) {
        String message = et.getText().toString();
        if(s.toString().compareTo(before)!=0){
            et.setText(message);
            et.setSelection(et.getText().length());
        }
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        before = et.getText().toString();
        System.out.println("After");
    }

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        System.out.println("ON");
    }
});

En la función afterTextChanged yo usoet.setText("some Text"); El problema es que, después de cambiar el texto, también se cambia el teclado, por ejemplo, sisymbol El teclado se abrió y usé setText, se cambiará automáticamente aqwerty.

¿Como puedó resolver esté problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta