Отключение EditText в Android - PullRequest
       86

Отключение EditText в Android

165 голосов
/ 28 ноября 2010

В моем приложении у меня есть EditText, который пользователь имеет только для чтения, но не для записи.

В коде, который я установил android:enabled="false".

Хотя фон EditText изменился на темный, когда я нажимаю на него, клавиатура всплывает и я могу изменить текст.

Что я должен установить, чтобы отключить EdidText?

Спасибо.

Ответы [ 23 ]

0 голосов
/ 28 сентября 2017

Сегодня я все еще использую editable="false", но также с focusable="false".

Я думаю, что мы должны сделать EditText недоступным для редактирования, потому что мы хотим сохранить его стиль EditText (с этим подчеркиванием, подсказкой и т. Д.), Но он принимает другие входные данные вместо текста. Например, раскрывающийся список.

В таком случае нам нужно иметь кликабельный EditText (таким образом, enabled="false" не подходит). Настройка focusable="false" делает этот трюк, однако, Я все еще могу долго удерживать EditText и вставить свой собственный текст в него из буфера обмена . В зависимости от вашего кода и обработки это может даже привести к сбою приложения.

Так что я тоже использовал editable="false" и теперь все замечательно, кроме предупреждения.

0 голосов
/ 28 августа 2017

Из комментария @ Asymptote к принятому ответу используйте:

myEditText.setEnabled(false);
myEditText.setInputType(InputType.TYPE_NULL);

... и Боб - ваш дядя.

0 голосов
/ 27 января 2017

Это работает для меня:

андроида: фокусируемый = "ложь"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...