EditText setError mensagem não limpa após a input

Ok, então eu só tenho um campo EditText e um button, que quando pressionado desencadeia um AsyncTask.

EditText playerName = (EditText)findViewById(R.id.playerEditText); if(playerName.getText().toString().length() == 0 ) playerName.setError("Player name is required!"); else { // do async task } 

O problema é que a mensagem de erro pairece ficair até mesmo depois de inserir text válido paira searchr. Existe uma maneira de remoview o erro assim que o EditText não estiview vazio?

4 Solutions collect form web for “EditText setError mensagem não limpa após a input”

No seu suporte, coloque playerName.setError(null) , que irá limpair o erro.

Documentação da API: "O ícone e a mensagem de erro serão networkingfinidos como nulos quando qualquer evento key causair alterações no text do TextView". Embora não seja assim – e, portanto, podemos considerair isso como bug.

Se você usa inputType, como textNoSuggestions, textEmailAddress, textPassword, o erro é desativado depois que um cairactere é typescript. Quase como documentado, mas novamente, não exatamente – quando você exclui um personagem, o erro permanece. Pairece, uma solução simples com addTextChangedListener e setError (null) pode atingir o comportamento prometido.

Além disso, existem postagens sobre o ícone que perde no Android 4.2. Então use com cuidado.

Experimente este ouvinte:

  playerName.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable edt){ if( playerName.getText().length()>0) { playerName.setError(null); } } {  playerName.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable edt){ if( playerName.getText().length()>0) { playerName.setError(null); } } {  playerName.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable edt){ if( playerName.getText().length()>0) { playerName.setError(null); } } }  playerName.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable edt){ if( playerName.getText().length()>0) { playerName.setError(null); } } 

Se você deseja esconder a mensagem de erro, é possível que você insira onclicklistener na checkbox de edição e, em seguida,

 EditTextname.setOnClickListener(new OnClickListener() { @Oviewride public void onClick(View v) { // TODO Auto-generated method stub EditTextname.setError(Null) } }); } EditTextname.setOnClickListener(new OnClickListener() { @Oviewride public void onClick(View v) { // TODO Auto-generated method stub EditTextname.setError(Null) } }); 
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.