Respostas:
Eu tinha a mesma pergunta, mas ainda queria definir essa opção no meu arquivo XML, então pesquisei um pouco mais até descobrir.
Adicione esta linha ao seu EditText.
android:inputType="textFilter"
Aqui esta uma sugestao. Use esta linha se desejar poder usar a tecla "enter".
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
pelo texto sugerido, mas ele ainda exibe a linha de sugestões (com o ícone do microfone).
android:inputType="textNoSuggestions"
Também é melhor você ler isso
android:inputType="textVisiblePassword"
Funciona como um encanto
.
caractere de período adicionado no final da palavra se dois espaços forem digitados após essa palavra. Usei-o para a Procura ação bar ((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Maneiras de fazer isso:
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
Se você já possui alguns sinalizadores definidos, então:
inputType = if (disableSuggestions) {
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or inputType
} else {
inputType and InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS.inv()
}
android:inputType="textNoSuggestions|textPassword"
A abordagem mais confiável que encontrei para me livrar do preenchimento automático é usar
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
no seu controle EditText. Como charlie relatou em uma resposta diferente nesta página,
android:inputType="textVisiblePassword"
é a versão XML desse sinalizador.
Você pode combinar esta bandeira com
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
Eu estava usando InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS sem InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, que funcionava para a maioria dos telefones, mas me deparei com um telefone Samsung para o qual eu ainda estava obtendo o preenchimento automático.
que sugeriu o uso de InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
Eu tentei isso (junto com InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) e funcionou. Você pode ver por que mesmo um telefone que talvez não entenda que não deseja o preenchimento automático teria que permitir que ele fosse desativado para um campo de senha. Com falta de ar, esta pode ser a melhor maneira de obter o que queremos de tais telefones.
Em alguns dos meus dispositivos, a fonte foi ligeiramente alterada por esse sinalizador - mais visivelmente para distinguir um zero (0) de um Oh (O) mais claramente, o que obviamente seria importante para exibir uma senha. Mas pelo menos funcionou, e a nova fonte não era atraente.
Embora o post em que eu encontrei essa sugestão fosse antigo, o telefone em que testei era muito recente - um Android 4.1.2 da Samsung Galaxy Note II (SPH-L900) da Sprint. O teclado selecionado era "Teclado Samsung" e, aparentemente, esse era o padrão para este telefone quando o cliente o recebeu da Sprint. Portanto, esse problema aparentemente persistiu ao longo dos anos em pelo menos parte da importante linha de telefones Samsung.
Para aqueles de vocês que, como eu, não possuem um dispositivo de teste Samsung, isso pode ser uma informação importante.
Para a versão Android 8.0 ou superior, este código não está funcionando e, para o texto de preenchimento automático, também este código não está funcionando, então eu sugiro que você use o código abaixo para a opção Desativar as sugestões automáticas na versão 8.0 ou superior, android vesrion use esta propriedade de edittext android: importantForAutofill = "no"
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:focusable="false"
android:imeOptions="actionDone"
android:maxLength="80"
android:maxLines="1"
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorBlack"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp"
app:bFontsEdt="light" />
e para a exibição de texto AutoCompletar como esta, use este campo para desativar a sugestão automática android: importantForAutofill = "no" :
<AutoCompleteTextView
android:id="@+id/autocompleteEditTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_3sdp"
android:layout_marginTop="@dimen/_5sdp"
android:background="@null"
android:imeOptions="actionDone"
android:singleLine="true"
android:text=""
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorGrayDark"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp" />
Como ainda é um problema, vou postar esta resposta. android: inputType = "textVisiblePassword" funciona, mas é indesejável, primeiro porque é uma representação incorreta da entrada e segundo porque desativa a digitação por gestos!
Em vez disso, tive que usar os dois sinalizadores textNoSuggestions e textFilter. Qualquer um sozinho não funcionou.
android:inputType="textCapSentences|textFilter|textNoSuggestions"
O textCapSentences foi por outros motivos. Mas esse inputType manteve a digitação do furto e desabilitou a barra de ferramentas de sugestões.
Eu estava conseguindo isso em telefones Samsung executando 4.4.4. Isso resolveu meu problema
android:inputType="text|textVisiblePassword|textNoSuggestions"
OK, o problema era - no Eclipse, você não recebe sugestões para o sinalizador denominado: textNoSuggestion
E você não pode configurá-lo em main.xml (onde você cria a interface do usuário) porque esse atributo para inputType não é reconhecido. Então você pode configurá-lo no código usando int const:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
E obrigado jasta00 por me ajudar a descobrir a resposta para este.
android:inputType="text|textNoSuggestions"
// 100% correct & tested
txtKey = (EditText) view.findViewById(R.id.txtKey);
txtKey.setPrivateImeOptions("nm");
txtKey.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
txtKey.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO);
}
Você pode simplesmente usar o setThreshold()
método do EditText . Defina o limite como digamos 100 quando não desejar mostrar previsões. Se você deseja reativar a exibição de previsões, defina-o como um int pequeno como 1 ou 2, dependendo de suas necessidades.