Pergunta

Estou usando um simples EditText e registrar um View.OnKeyListener. Algumas alterações na GUI devem acontecer (desbotamento dentro/fora de visualizações) quando determinadas condições para o texto EditView se aplicam. No emulador, isso funciona conforme o esperado. No Motorola Droid/Milestone, o ouvinte não funciona, apenas

  1. Depois de pressionar Del, o ouvinte é chamado pela primeira vez e sempre depois
  2. Ao ativar a entrada do número, o ouvinte funciona corretamente

NOTA: Desativei as sugestões com type_text_flag_no_suggestions e usei a ação IME IME_ACTION_GO para ter uma solução alternativa para isso (caso contrário, o usuário não poderia "iniciar" uma solicitação).

Foi útil?

Solução

Encontrou uma maneira melhor e funcional de implementar isso: use EditText.addTextChangedListener com um TextWatcher classe (e implementar TextWatcher.onTextChanged(CharSequence s, int start, int before, int count)), funciona perfeitamente também no marco/dróide.

Outras dicas

O TextWatcher não pode substituir completamente o OnKeyListener. Por exemplo, se sua caixa de texto estiver vazia, como você detectaria esse usuário pressionado Del Tecla? Ou, e se você não tiver caixa de texto e deseja detectar eventos importantes?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top