«Отсутствует атрибут autofillHints»

У меня проблема с Palette -> Text
Когда я хочу установить какое-то представление, я получаю сообщение о проблеме "Missing autofillHints attribute"
Какие-либо предложения?

tools:ignore = "Autofill" - это пока единственный способ игнорировать.
Pratik Butani 30.11.2018 06:46
110
1
96 552
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Возможно, вы используете EditText. autofillHints используется в API 26 и выше для заполнения пустых EditText и фактически подсказывает, какой тип контента следует туда поместить.

Просто добавь :

android:autofillHints = "username" // the type of content you want

К вашему EditText и предупреждение исчезнет.

You do this using the new android:autofillHints attribute to tell autofillwhat type of content you expect, and android:importantForAutofill to tell autofill which views you want (or do not want) to be filled.

Читать:https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1

И это:https://developer.android.com/guide/topics/text/autofill-services


Редактировать:

Однако вы можете установить:

android:importantForAutofill = "no"

Компоненту сказать не важно залить и избавиться от ошибки.

Снова ошибки :( «Отсутствует метка доступности» «Атрибут не используется в старой версии»

Sebastian 07.10.2018 18:38

Можно скриншот? После этого он должен исчезнуть.

ʍѳђઽ૯ท 07.10.2018 18:39

Снова ошибки :( «Отсутствует метка доступности» «Атрибут не используется в старой версии»

Sebastian 07.10.2018 18:40

Я здесь новенький, поэтому пока не могу отправить фотографии :(

Sebastian 07.10.2018 18:41

Вы действительно можете. Добавьте изображение в свой вопрос (используйте кнопку редактирования). Однако это всего лишь предупреждения, которые можно обойти, добавив tools:targetApi = "o".

ʍѳђઽ૯ท 07.10.2018 18:45

Я изменил уровень API с API 28 на API 25, и это сработало !! но у меня вопрос, было ли это хорошим вариантом для смены уровня?

Sebastian 07.10.2018 18:48

Тебе решать. Однако вы можете использовать новейший API и просто добавить tools:targetApi = "o", потому что он доступен с API 26 и выше, поэтому не о чем беспокоиться. На самом деле, понижать API до более ранней версии - не лучшая идея. Это были просто предупреждения, которые можно было игнорировать или обойти.

ʍѳђઽ૯ท 07.10.2018 18:53

Я сделал, как вы мне сказали, и это сработало !! большое спасибо и хорошего вечера :)

Sebastian 07.10.2018 19:06

Примечание. «ImportantForAutofill» используется только в API уровня 26 и выше.

bunkerdive 16.04.2019 08:38

Если вам не нужен autofillHints

minSdk> = 26.

Следует использовать android:importantForAutofill=no, если вам не нужна подсказка автозаполнения

<EditText
        android:importantForAutofill = "no"/>

minSdk <26

Добавьте android:importantForAutofill, затем tools:targetApi, чтобы IDE не выводила это предупреждение об уровне API.

<EditText
        android:importantForAutofill = "no"
        tools:targetApi = "o"
 />

Если хочешь autofillHints

Сервис автозаполнения включен по умолчанию, даже если мы не устанавливаем атрибут autofillHints. Укажите автозаполнение. Подсказки помогут автозаполнению работать лучше, как мы и ожидали. см. документы здесь

minSdk> = 26

  • Просто нужно добавить android:autofillHints = "{a contant value}" (например: "android:autofillHints = "password") (используйте константу из здесь)

minSdk <26, добавьте tools:targetApi, чтобы IDE не выводила это предупреждение

    <EditText
            android:autofillHints = "emailAddress"
            tools:targetApi = "o"/>

Примечание

  • autofillHints и importantForAutofill используются только в API 26 и выше, но мы все еще можем использовать его в API <26 без сбоев (вы можете увидеть в этом ответе) (он не дает сбоев, но, конечно, не имеет никакого эффекта с API <26)

  • tool:... просто используйте, чтобы IDE не предупреждала, это не повлияет ни на что при запуске приложения, поэтому tools:ignore = "Autofill не поможет вам скрыть подсказку автозаполнения

Согласно документации - developer.android.com/reference/android/view/… - константа android:autoFillHints для адреса электронной почты - это emailAddress, а не просто email.

ban-geoengineering 29.04.2020 14:17

@ ban-geoengineering этот комментарий был для меня полезнее, чем весь ответ. Благодаря тонну

Kartik 08.07.2020 09:15

Этот ответ лучше структурирован и более читабелен, чем принятый.

Touhid 18.08.2020 20:52

вам нужно в файл strings.xml и включить там текст строки, например:

<string name = "editText2">Name</string>.

затем вам нужно activity_mail.xml - а затем включить автозаполнение там, используя:

android:hint = "@string/editText2"

Нет решения проблемы

djardon 15.05.2020 20:30

Другие вопросы по теме