2012-05-11 19 views

Respuesta

3

Resolví este problema.
acaba de establecer TextView como esto:

text.setTextIsSelectable(true); 
+0

llamada requiere API 11 –

4

Creo que podría anular el método onKeyDown(), hacer que no haga nada más que devolver verdadero. Debe capturar las pulsaciones de teclas del teclado y anularlas antes de que puedan entrar en el texto en EditText.

También podría try setting editable en false como esto

android:editable="false" 

en el EditarTexto en su diseño xml. Sin embargo, no estoy seguro si esto te permitirá resaltar y copiar, pero vale la pena intentarlo.

+1

Gracias, Tim! Pero Android: editable está en desuso en Android Ice Cream Sandwich. – Limp

+0

¿dejaron una nota que le dice qué usar en su lugar? – FoamyGuy

+1

Sí, me dijeron que use TextView en su lugar. Pero TextView no puede ser seleccionado. – Limp

14

text.setTextIsSelectable(true) requiere API 11. Para aquellos que utilizan menor de API: En uso xml:

android:inputType="none" 
android:textIsSelectable="true" 

Esto hará que su EditarTexto no editable pero seleccionable.

+0

Puedo confirmar que en API 10 (probado en 2.3.4 y 2.3.6) las dos líneas anteriores no funcionan. El EditText aún se puede editar y el teclado aparece ... – Bruce

+0

¿Cuál es la solución? –

+1

Echa un vistazo a mi respuesta completa publicada en http://stackoverflow.com/a/20173020/1241783. No muy orgulloso de la manera hacky, pero es la única forma que conozco por ahora. Avíseme si alguien conoce una forma mejor para la versión de API <10. ¡Gracias! – Bruce

0

Althouth android:editable es obsoleto y Lint sugiere usar inputType, Parece que no funciona. Así que android:editable="false" es aparentemente la mejor solución posible para todas las versiones de Android.

<EditText 
    android:id="@+id/editText" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:editable="false" 
    android:textIsSelectable="true" 
    tools:ignore="Deprecated" /> 
Cuestiones relacionadas