Eu tenho um problema com Palette -> Text
Quando desejo definir alguma visualização, recebo uma mensagem com problema. "Missing autofillHints attribute"
Alguma sugestão?
tools:ignore="Autofill"é a única maneira de ignorar por enquanto.
Pratik Butani
Respostas:
96
Talvez você esteja usando um EditText. autofillHintsé usado na API 26 e superior para preencher EditTexts vazios e, na verdade, sugere que tipo de conteúdo deve ser colocado lá.
Basta adicionar:
android:autofillHints="username"// the type of content you want
Para o seu EditTexte o aviso desaparecerá.
Você pode fazer isso usando o novo android:autofillHintsatributo para dizer
autofillque tipo de conteúdo que você espera , e
android:importantForAutofillpara dizer autofillque as visões que você quer (ou não querem) para ser preenchido.
autofillHintse importantForAutofillusado apenas na API 26 e superior, mas ainda podemos usá-lo na API <26 sem travar ( você pode ver nesta resposta) (não trava, mas é claro que não tem nenhum efeito com API <26)
tool:... apenas use para fazer com que o IDE não avise, não afetará nada quando o aplicativo estiver em execução
tools:ignore="Autofill"
é a única maneira de ignorar por enquanto.Respostas:
Talvez você esteja usando um
EditText
.autofillHints
é usado na API 26 e superior para preencherEditText
s vazios e, na verdade, sugere que tipo de conteúdo deve ser colocado lá.Basta adicionar:
android:autofillHints="username" // the type of content you want
Para o seu
EditText
e o aviso desaparecerá.Leia: https://medium.com/@bherbst/getting-androids-autofill-to-work-for-you-21435debea1
E este: https://developer.android.com/guide/topics/text/autofill-services
Editar:
No entanto, você pode definir:
android:importantForAutofill="no"
Para o componente avisar não é importante preencher e se livrar do erro.
fonte
Se você não quiser
autofillHints
minSdk> = 26 .
Deve usar
android:importantForAutofill=no
se você não quiser dica de preenchimento automático<EditText android:importantForAutofill="no"/>
minSdk <26
1) Use
tools:ignore="Autofill"
<EditText tools:ignore="Autofill"/>
2) Ou adicione
android:importantForAutofill
entãotools:targetApi
para que o IDE não avise sobre o nível de API<EditText android:importantForAutofill="no" tools:targetApi="o" />
Se você quiser
autofillHints
minSdk> = 26
Só precisa adicionar
android:autofillHints="{a contant value}"
(por exemplo"android:autofillHints="password"
:) (usar constante a partir daqui )minSdk <26 , adicione
tools:targetApi
para tornar o IDE não este aviso<EditText android:autofillHints="email" tools:targetApi="o"/>
Nota
autofillHints
eimportantForAutofill
usado apenas na API 26 e superior, mas ainda podemos usá-lo na API <26 sem travar ( você pode ver nesta resposta) (não trava, mas é claro que não tem nenhum efeito com API <26)tool:...
apenas use para fazer com que o IDE não avise, não afetará nada quando o aplicativo estiver em execuçãofonte
android:autoFillHints
constante para um endereço de e-mail éemailAddress
ao invés de apenasemail
.você precisa do arquivo strings.xml e habilitar o texto da string, por exemplo:
<string name="editText2">Name</string>.
então você precisa
activity_mail.xml
- e então habilitar a atividade autofillhint lá, usando:android:hint="@string/editText2"
fonte