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

92

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

Себастьян
источник
1
tools:ignore="Autofill"на данный момент единственный способ игнорировать.
Pratik Butani

Ответы:

93

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

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

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

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

Вы делаете это с помощью нового android:autofillHintsатрибута, чтобы указать, autofill какой тип контента вы ожидаете , и android:importantForAutofillуказать, autofillкакие представления вы хотите (или не хотите) заполнять.

Прочтите: https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1

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


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

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

android:importantForAutofill="no"

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

ʍѳђ ઽ ૯ ท
источник
Снова ошибки :( «Отсутствует метка доступности» «Атрибут не используется в старой версии»
Себастьян
Можно скриншот? После этого он должен исчезнуть.
ʍѳђ ઽ ૯ ท
Снова ошибки :( «Отсутствует метка доступности» «Атрибут не используется в старой версии»
Себастьян
Я здесь новенький, поэтому пока не могу отправить фотографии :(
Себастьян
1
Примечание: «importantForAutofill» используется только в API уровня 26 и выше
bunkerdive
91

Если ты не хочешь autofillHints

minSdk> = 26 .

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

<EditText
        android:importantForAutofill="no"/>

minSdk <26

1) Используйте tools:ignore="Autofill"

<EditText
        tools:ignore="Autofill"/>

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

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

Если хочешь autofillHints

minSdk> = 26

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

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

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

Заметка

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

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

Фан Ван Линь
источник
2
Согласно документации - developer.android.com/reference/android/view/… - android:autoFillHintsконстанта для адреса электронной почты больше emailAddress, чем просто email.
бан-геоинжиниринг
@ ban-geoengineering этот комментарий был для меня полезнее, чем весь ответ. Большое спасибо
Kartik
Этот ответ лучше структурирован и более читабелен, чем принятый.
Touhid
0

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

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

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

android:hint="@string/editText2"
Магомед Хамидов
источник
Нет решения проблемы
джардон