Como acessar funcções do campo EditText, onEnter, SetFocus...

23/06/2013

0

Olá boa tarde!

Tenho os seguinte problema:

Estou usando Eclipse juno + Android 4.2.
(Sou Iniciante)


Tenho que ler um código de barras e carregar um EditText e em seguida simular um <enter>
e faze-lo perder o foco ou sair e acessar o onExit , pegar os dados e guardar numa
lista e voltar o focus ou acessar o onEnter e limpar o campo;
Veja o loop vai ficar entre o EditText e o processamento até que eu pressione o
botão <salvar> ou <cancelar> tbém posso digitar manualmente e pressionar a tecla <enter> e
finalizar gerando uma arquivo XML.



Bom que preciso sabe é como:
==============================

1-Que função usar para saber que o EditText ganhou e perdeu o Focus?

2-Que função usar para saber se o EditText Entrou ou Sai do campo?

3-Que função usar para saber se o EditText recebeu um <enter> pelo teclado?

4-Após ler o código de barras, como simular a tecla <entre> para que o campo sai por onExit ou perca o focus?


Só estou precisando saber somente isto, pois o resto já está pronto.

Desde já meus agradecimentos,

100+



ANT.CARLOS/SP
Antonio Jesus

Antonio Jesus

Responder

Posts

23/06/2013

Marcelo Senaga

1 e 2:

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
Toast.makeText(getApplicationContext(), "got the focus", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(getApplicationContext(), "lost the focus", Toast.LENGTH_LONG).show();
}
}
});
Responder

23/06/2013

Marcelo Senaga

3:

final EditText edittext = (EditText) findViewById(R.id.edittext);
edittext.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        // If the event is a key-down event on the "enter" button
        if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
            (keyCode == KeyEvent.KEYCODE_ENTER)) {
          // Perform action on key press
          Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show();
          return true;
        }
        return false;
    }
});


O 4 eu não entendi muito bem. Vc quer simular o pressionamento da tecla ENTER?
Responder

24/06/2013

Antonio Jesus

Olá bom dia!

Obrigado pela atenção!

Sim, ao ler o código de barras e na sequência da leitura seja simulado um <Entre>, pois quero q o EditText fique esperando uma leitura, ao receber processe e volte ao edit e limpe-o, sem intervenção de mouse ou teclado.

Faço isto no Delphi, e ao ler o Código de barras acho q ele automaticamente já inseri um enter e o objeto perde o foco.

100+

ANT.CARLOS/SP
Responder

25/06/2013

Marcelo Senaga

Entendi, vou fazer uns testes e vejo se consigo implementar isso.
Responder

25/06/2013

Antonio Jesus

Olá boa noite!
Funcionou perfeitamente,

4-Após ler o código de barras, como simular a tecla <entre> para que o campo sai por onExit ou perca o focus?


O que eu quero fazer é uma leitura igual as de Checkout de SuperMerado, onde passo o produto, le o codbarras, processa e volta para o campo cod.barras.

Quanto a pergunta 4 fiz um teste com o leitor e ele já inseri um <enter> ao ler o código de barras e vai para o próximo campo automaticamente.

Só mais uma perguntinha:

Com faço para o setar o foco num campo EditText ?


100+

ANT.CARLOS/SP






Responder

29/06/2013

Marcelo Senaga

Boa pergunta. Procurando, eu achei isso:

http://stackoverflow.com/questions/8080579/android-textfield-set-focus-soft-input-programmatically
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar