“Atributo autofillHints ausente”

94

Eu tenho um problema com Palette -> Text
Quando desejo definir alguma visualização, recebo uma mensagem com problema. "Missing autofillHints attribute"
Alguma sugestão?

Sebastian
fonte
1
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 autofill que 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.

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
Erros novamente :( "Etiqueta de acessibilidade ausente" "Atributo não utilizado na versão mais antiga"
Sebastian,
Posso ver uma captura de tela? Deve desaparecer depois disso.
ʍѳђ ઽ ૯ ท
Novamente erros :( "Etiqueta de acessibilidade ausente" "Atributo não utilizado na versão anterior"
Sebastian,
Sou uma nova pessoa aqui, então ainda não posso enviar fotos :(
Sebastian,
1
Observação: "importantForAutofill" é usado apenas no nível de API 26 e superior
bunkerdive
94

Se você não quiser autofillHints

minSdk> = 26 .

Deve usar android:importantForAutofill=nose 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:importantForAutofillentão tools:targetApipara 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:targetApipara tornar o IDE não este aviso

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

Nota

  • 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

Phan Van Linh
fonte
2
De acordo com a documentação - developer.android.com/reference/android/view/… - a android:autoFillHintsconstante para um endereço de e-mail é emailAddressao invés de apenas email.
ban-geoengineering
@ ban-geoengineering, este comentário foi mais útil para mim do que a resposta inteira. Muito obrigado
Kartik
Esta resposta é melhor estruturada e mais legível do que a aceita.
Touhid de
0

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"
Magomed.Khamidov
fonte
Não há solução para o problema
djardon