„Brak atrybutu autofillHints”


92

Mam problem z Palette -> Text
ustawieniem widoku, pojawia się komunikat problem. "Missing autofillHints attribute"
Jakieś sugestie?


1
tools:ignore="Autofill"to na razie jedyny sposób na ignorowanie.
Pratik Butani

Odpowiedzi:


93

Być może używasz EditText. autofillHintsjest używany w API 26 i nowszych do wypełniania pustych EditTexts i faktycznie sugeruje, jaki typ treści powinien być tam umieszczony.

Poprostu dodaj :

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

Do ciebie EditTexti ostrzeżenie zniknie.

Można to zrobić przy użyciu nowego android:autofillHintsatrybutu powiedzieć autofill jakiego rodzaju treści można się spodziewać , i android:importantForAutofillpowiedzieć autofill, które widoki chcesz (lub nie chcą) do obsadzenia.

Przeczytaj: https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1

A to: https://developer.android.com/guide/topics/text/autofill-services


Edytować:

Możesz jednak ustawić:

android:importantForAutofill="no"

Aby składnik powiedział, że nie jest ważne, aby wypełnić i pozbyć się błędu.


Ponownie błędy :( „Brak etykiety ułatwień dostępu” „Atrybut nieużywany w starszej wersji”
Sebastian

Czy mogę zobaczyć zrzut ekranu? Po tym powinien zniknąć.
ʍѳђ ઽ ૯ ท 7

Ponownie błędy :( „Brak etykiety ułatwień dostępu” „Atrybut nieużywany w starszej wersji”
Sebastian,

Jestem tu nowa, więc nie mogę jeszcze wysyłać zdjęć :(
Sebastian

1
Uwaga: „importantForAutofill” jest używane tylko na poziomie API 26 i wyższych
bunkerdive,

91

Jeśli nie chcesz autofillHints

minSdk> = 26 .

Należy użyć, android:importantForAutofill=nojeśli nie chcesz podpowiedzi autouzupełniania

<EditText
        android:importantForAutofill="no"/>

minSdk <26

1) Użyj tools:ignore="Autofill"

<EditText
        tools:ignore="Autofill"/>

2) lub dodać android:importantForAutofillpotem tools:targetApido IDE nie robić tego ostrzeżenia o poziomie API

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

Jeśli chcesz autofillHints

minSdk> = 26

  • Wystarczy dodać android:autofillHints="{a contant value}"(np . "android:autofillHints="password":) (użyj stałej stąd )

minSdk <26 , dodaj, tools:targetApiaby IDE nie było tego ostrzeżenia

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

Uwaga

  • autofillHintsi importantForAutofillużywany tylko w API 26 i nowszych, ale nadal możemy go używać w API <26 bez awarii ( możesz zobaczyć w tej odpowiedzi) (nie ulega awarii, ale oczywiście nie ma żadnego efektu z API <26)

  • tool:... po prostu użyj, aby IDE nie ostrzegało, nie wpłynie to na nic podczas działania aplikacji


2
Zgodnie z dokumentacją - developer.android.com/reference/android/view/… - android:autoFillHintsstała dla adresu e-mail jest emailAddressraczej niż tylko email.
zakaz geoinżynierii

@ ban-geoengineering ten komentarz był dla mnie bardziej przydatny niż cała odpowiedź. Dzięki za tonę
Kartik

Ta odpowiedź jest lepiej skonstruowana i bardziej czytelna niż zaakceptowana.
Touhid

0

musisz plik strings.xml i włączyć tam tekst ciągu, na przykład:

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

następnie musisz activity_mail.xml- a następnie włączyć tam działanie autouzupełniania , używając:

android:hint="@string/editText2"

Nie ma rozwiązania tego problemu
djardon
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.