Como acessar funcções do campo EditText, onEnter, SetFocus...
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
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
Curtidas 0
Respostas
Marcelo Senaga
23/06/2013
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();
}
}
});
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();
}
}
});
GOSTEI 0
Marcelo Senaga
23/06/2013
3:
O 4 eu não entendi muito bem. Vc quer simular o pressionamento da tecla ENTER?
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?
GOSTEI 0
Antonio Jesus
23/06/2013
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
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
GOSTEI 0
Marcelo Senaga
23/06/2013
Entendi, vou fazer uns testes e vejo se consigo implementar isso.
GOSTEI 0
Antonio Jesus
23/06/2013
Olá boa noite!
Funcionou perfeitamente,
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
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
GOSTEI 0
Marcelo Senaga
23/06/2013
Boa pergunta. Procurando, eu achei isso:
http://stackoverflow.com/questions/8080579/android-textfield-set-focus-soft-input-programmatically
http://stackoverflow.com/questions/8080579/android-textfield-set-focus-soft-input-programmatically
GOSTEI 0