Je veux créer un fichier en lecture seule EditText
vue. Le XML pour faire ce code semble être android:editable="false"
mais je veux faire cela en code.
Comment puis-je le faire ?
Je veux créer un fichier en lecture seule EditText
vue. Le XML pour faire ce code semble être android:editable="false"
mais je veux faire cela en code.
Comment puis-je le faire ?
Si vous setEnabled(false)
alors votre editText
aurait l'air désactivé (gris, etc.). Vous ne souhaitez peut-être pas modifier l'aspect visuel de votre éditeur.
Une manière moins intrusive serait d'utiliser setFocusable(false)
.
Je crois que cela répond à votre question plus près de votre intention initiale.
Cela a bien fonctionné pour moi. J'avais besoin qu'il soit cliquable, donc je ne pouvais pas utiliser setEnabled(false). Pour contourner le problème du collage, j'ai simplement utilisé Android:longClickable="false".
Si vous utilisez setFocusable(false)
(et même setFocusableInTouchMode(false)
con setClickable(false)
), vous pouvez toujours modifier la valeur de votre editText
en appuyant sur votre editText
pour un quelques centaines de millisecondes et en sélectionnant Paste
sauf si presse-papiers du système est vide. Je l'ai testé avec la dernière API disponible, à savoir 23 .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Voir le lien developer.Android.com/reference/Android/widget/
4 votes
Il convient également de noter que
android:editable
est déprécié pourEditText
.1 votes
La façon la plus fiable de le faire est d'utiliser
UI.setReadOnly(myEditText, true)
de cette bibliothèque . Il y a quelques propriétés à définir, que vous pouvez consulter. dans le code source .3 votes
Oui, Derek a raison. Maintenant, en XML, vous devez utiliser
android:inputType="none"
yandroid:textIsSelectable="true"