Есть ли способ программно отключить этот список автозаполнения, который появляется при вводе EditText?
android
android-edittext
nikib3ro
источник
источник
android:inputType="textPersonName"
предложенный текст, но он по-прежнему отображает строку предложений (со значком микрофона).также вам лучше прочитать это
источник
работает как шарм
источник
.
точку char, добавленную в конце слова, если после этого слова вводятся два пробела. Я использовал его для панели действий searchView((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Способы сделать это:
Если у вас уже установлены некоторые флаги, то:
источник
Самый надежный подход, который я нашел для избавления от автозаполнения, - это использовать
на вашем элементе управления EditText. Как Чарли сообщил в другом ответе на этой странице,
XML-версия этого флага.
Вы можете комбинировать этот флаг с
Я использовал InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS без InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, который работал для большинства телефонов, но затем я наткнулся на телефон Samsung, для которого все еще выполнялось автозаполнение.
Android программно отключает автозаполнение / автозаполнение для EditText в эмуляторе
который предложил использовать InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
Я пробовал это (вместе с InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS), и это сработало. Вы можете понять, почему даже телефон, который может не понимать намек на то, что вам не нужно автозаполнение, должен разрешать отключение его для поля пароля. Если не считать задержки дыхания, это может быть лучший способ получить то, что мы хотим от таких телефонов.
На некоторых из моих устройств шрифт был немного изменен этим флагом - наиболее заметно, чтобы более четко отличать ноль (0) от Oh (O), что, очевидно, было бы важно для отображения пароля. Но, по крайней мере, это сработало, и новый шрифт не был непривлекательным.
Несмотря на то, что сообщение, в котором я нашел это предложение, было старым, телефон, на котором я тестировал, был совсем недавним - это Samsung Galaxy Note II (SPH-L900) с Android 4.1.2 от Sprint. Выбранной клавиатурой была «Samsung Keyboard», и, очевидно, это была клавиатура по умолчанию для этого телефона, когда покупатель получил ее от Sprint. Таким образом, эта проблема, по-видимому, сохранялась на протяжении многих лет по крайней мере для некоторых важных телефонов Samsung.
Для тех из вас, у кого, как и у меня, нет тестового устройства Samsung, это может быть важная информация.
источник
Для версии Android 8.0 или выше этот код не работает, а для текстового представления автозаполнения этот код также не работает, поэтому я предлагаю вам использовать приведенный ниже код для Отключить автоматические предложения в версии 8.0 или выше Android vesrion, используйте это свойство edittext android: importantForAutofill = "нет"
и для такого текстового представления AutoComplete используйте это поле, чтобы отключить автоматическое предложение android: importantForAutofill = "no" :
источник
Вы можете решить эту проблему, используя это:
Android O имеет функцию поддержки автоматического заполнения полей, просто используйте это только в своем xml, это отключит подсказки автозаполнения
источник
Поскольку это все еще проблема, я отправлю этот ответ. android: inputType = "textVisiblePassword" работает, но это нежелательно, во-первых, потому что это искажение ввода, а во-вторых, потому что он отключает ввод с помощью жестов!
Вместо этого мне пришлось использовать ОБА флага textNoSuggestions и textFilter. Либо один по отдельности не работал.
TextCapSentences был по другим причинам. Но этот inputType сохранил смахивающий ввод и отключил панель инструментов предложений.
источник
Получал эту штуку на телефонах самсунг под управлением 4.4.4. Это решило мою проблему
источник
Хорошо, проблема была в том, что в Eclipse вы не получаете предложения для флага с именем: textNoSuggestion
И вы не можете установить его в main.xml (где вы разрабатываете пользовательский интерфейс), потому что этот атрибут для inputType не распознается. Таким образом, вы можете установить его в коде, используя int const:
И спасибо jasta00 за то, что помог мне найти ответ на этот вопрос.
источник
источник
Это вам поможет.
источник
источник
Вы можете просто использовать метод EditText
setThreshold()
. Установите порог, скажем, 100, если вы не хотите показывать прогнозы. Если вы хотите повторно активировать отображение прогнозов, установите для него небольшое значение типа int, например 1 или 2, в зависимости от ваших потребностей.источник