¿Por qué puedo escribir en un EditText deshabilitado?
Si desactivo un widget EditText
editText.setEnabled(false);
Todavía puedo escribir en él utilizando el método de entrada en pantalla (en el emulador y en el G1). ¿Se pretende esto? ¿Cómo puedo solucionar este problema?
Me doy cuenta de que no se puede activar el teclado en pantalla tocando en un EditText deshabilitado, y también la tecla DEL no funciona, por lo que esto me parece un error. Lo archivé como número 2771 en el rastreador de problemas de Android.
edittext.setKeyListener(null);
Esto te ayudara
Usa esto, funcionó para mí
setFocusableInTouchMode(boolean); setFocusable(boolean);
He solucionado este problema, pero el parche sólo se incluye en Honeycomb. Es por eso que he creado un pequeño proyecto que contendrá mis correcciones backported a versiones que comienzan a partir de 2.1. Contiene la corrección del error 2771: http://code.google.com/p/android-fixes/
Puedes consultar la "biblioteca" del svn e incluirla en tu proyecto. Entonces, en lugar de android.widget.EditText import edu.ubbdroid.android.widget.EditText (que extiende el original EditText) y el problema debe ser ido 🙂
Tal vez podría alternativamente sustituir dinámicamente con TextView y volver. Pero es probable que necesite ajustar la fuente para que coincida con el EditText.
etComment.setEnabled(flag); etComment.setFocusable(flag); etComment.setFocusableInTouchMode(flag); if (flag) { etComment.requestFocus(); } etComment.setFilters(new InputFilter[] { new InputFilter() { @Override public CharSequence filter( CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { if (!flag) { return source.length() < 1 ? dest.subSequence(dstart, dend) : ""; } return null; } } });
Por todo lo que puede!
Creo que deberías poder editarText.setOnClickListener () con tu propia función y llamar a super.onClickListener () si quieres que tu texto sea editado.
Editar:
El siguiente enlace tiene algunas respuestas que suenan más como la forma correcta:
¿Podemos tener texto ineditable en edittext
Para una respuesta más actualizada, compruebe este hilo:
Cómo replicar android editable false