Como acessar funcções do campo EditText, onEnter, SetFocus...
23/06/2013
0
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
Posts
23/06/2013
Marcelo Senaga
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();
}
}
});
23/06/2013
Marcelo Senaga
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?
24/06/2013
Antonio Jesus
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
25/06/2013
Marcelo Senaga
25/06/2013
Antonio Jesus
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
29/06/2013
Marcelo Senaga
http://stackoverflow.com/questions/8080579/android-textfield-set-focus-soft-input-programmatically
Clique aqui para fazer login e interagir na Comunidade :)