Esconder teclado ao clicar/focar num EditText

1,573 views
Skip to first unread message

Felipe Aron

unread,
Aug 23, 2012, 9:44:49 AM8/23/12
to androidb...@googlegroups.com
Galera, to precisando o seguinte:

Num determinado EditText (que servirá para leitor de código de barras), não quero que apareça de forma alguma o teclado do Android.

Tentei a seguinte forma, mas não funcionou:

                mEdtCodBarra.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEdtCodBarra.getWindowToken(), 0);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
});

Alguém poder me dar as dicas de como resolver isso? 

--
Analista-Programador

Neto Marin

unread,
Aug 23, 2012, 9:46:25 AM8/23/12
to androidb...@googlegroups.com
Dá algum erro no LogCat?
Vc fez um debug pra saber se o método é chamado? De mais detalhes...
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: neto...@gmail.com
MSN: neto_...@hotmail.com
Skype: netomarin


2012/8/23 Felipe Aron <felip...@gmail.com>

Felipe Aron

unread,
Aug 23, 2012, 10:10:21 AM8/23/12
to androidb...@googlegroups.com
E ai Neto blz?

Fiz o debug, usando o Log.i() e está entrando sim nos eventos...

Pra um entendimento melhor estou enviando a tela em anexo. 

Ao entrar na tela, o foco já está em EditText "código de barras". Ao clicar nele, era aberto o teclado - o que fiz foi no evento onClick() adicionar o código para ocultar o teclado -- DEU CERTO!

Ai clico no EditText "referencia", mostra o teclado (é para mostrar mesmo) numa boa. Ai volto clico novamente no EditText "código de barras" (voltando o foco pra ele). -- AQUI ESTÁ O PROBLEMA:

- Se o teclado da "referencia" estiver visivel, ao focar/clicar novamente no "código de barras", o telcado desse é mostrado - e não devia. Por isso tentei usar o código para ocultar o teclado no onFocusChange().
tela.png

Daniel Novi Capelassi

unread,
Aug 23, 2012, 10:32:05 AM8/23/12
to androidb...@googlegroups.com

Olá! 

   Tive um caso parecido, fiz o tratamento do focusChange nos dois campos e resolveu, parecido com o que vc fez ai. 

No meu caso o EditTextPassword é o campo que não queria o teclado.

Segue o código:



2012/8/23 Felipe Aron <felip...@gmail.com>



--
------------------------------------------------------------------------------------------------------------------------
// "Eu adoraria mudar o mundo, pena que eles não me fornecem o código-fonte". \\
       ~
    \°v°
     ( . )\   --> open-source
     ^ ^
------------------------------------------------------------------------------------------------------------------------

Felipe Aron

unread,
Aug 23, 2012, 12:31:32 PM8/23/12
to androidb...@googlegroups.com
Daniel, fiz conforme você mencionou porém não surgiu efeito.

Uma vez o foco na "referencia" com o teclado visível, ao voltar o foco para "código de barras" mostra o teclado. Somente clicando novamente em cima desse EditText que o teclado some. 

Alguma outra sugestão?

Ivan Java

unread,
Aug 23, 2012, 1:21:29 PM8/23/12
to androidb...@googlegroups.com
Já tentou isso

seuEditText.setInputType(InputType.TYPE_NULL);

Felipe Aron

unread,
Aug 23, 2012, 2:13:47 PM8/23/12
to androidb...@googlegroups.com
Ivan resolveu o problema em partes.

Não mostra mais o teclado (nem a pau, rs). Porém o EditBox fica "Null" sem ação. No caso uso leitor para capturar o código de barras. Se aplicar esse setInputType() ele não funciona. Hehe

Quer saber amigos, fiz o ajuste melhorou, e agora o cliente que se adapte. Já basta fazer um software de gestão em Android pra um usuário que não sabe nem ligar direito o tablet. rs. 

Vou aproveitar colocar um easter-egg dizendo "this is sparta!"

Ivan Java

unread,
Aug 23, 2012, 2:20:28 PM8/23/12
to androidb...@googlegroups.com
É esse solução não é muito viável em alguns casos, por exemplo, se tentar usa-la o EditText em conjunto com tipo password. Vou ver se acho outras alternativas.
Reply all
Reply to author
Forward
0 new messages