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
e faze-lo perder o foco ou sair e acessar o onExit , pegar os dados e guardar numa
lista e voltar o foco 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 ou tbém posso digitar manualmente e pressionar a tecla 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 pelo teclado?
4-Após ler o código de barras, como simular a tecla para que o cursor 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
Enter ? Cara isso é mobile não programação delphi para desktop.
1-Que função usar para saber que o EditText ganhou e perdeu o Focus?
[code] EditText editText = (EditText) findViewById(R.id.edittxt);
editText .setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus){
// faz algo
}
}
});[/code]
2-Que função usar para saber se o EditText Entrou ou Sai do campo?
Saber se alguma coisa foi escrita ?
EditText editText = (EditText) findViewById(R.id.edittxt);
editText.addTextChangedListener(new TextWatcher() {
// depois de terminar de escrever
public void afterTextChanged(Editable s) {}
// antes da ultima edição
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
//edição em tempo real
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
3-Que função usar para saber se o EditText recebeu um pelo teclado?
EditText editText = (EditText) findViewById(R.id.edittxt);
editText.setImeActionLabel("Custom text", KeyEvent.KEYCODE_ENTER);
editText.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
//enter pressionado
return true;
default:
break;
}
}
return false;
}
});
4-Após ler o código de barras, como simular a tecla para que o cursor sai por onExit ou perca o focus?
Não entendi…
mas se quer mudar o focus é so requestFocus.
bom dia!
Blz, obrigado pela atenção!
Então, fiz os teste e deu certo.
Quanto a pergunta 4, o q eu queria fazer é simular um checkout de supermercado, onde o loop fica entre o Edit, processamento, edit até ser finalizado pelo operador.
O leitor de código de barras já inseri um após ler e o obj edit já perde o foco automático.
100+
ANT.CARLOS/SP
Isso vai simular um click em uma view
Caso não seja isso, quando você lê um código de barra provavelmente retorna algo por algum método… só chame direto o método que é chamado quando alguém aperta enter no edittext;
Olá boa tarde!
Estou com seguinte problema:
Ao gerar o Arquivo do XML é gerado um erro na linha
Writer file = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dirXml+nomArq),“ISO-8859-1”));
E ao pegar horas, minutos, segundos tbém gera um erro.
Alguém poderia me ajudar nesta ?
Desde já meus agradecimentos.
ANT.CARLOS/SP
06-30 17:51:41.579: W/System.err(2355): java.io.FileNotFoundException: /c:/temp4/ARQUIVO_XML.XML: open failed: ENOENT (No such file or directory)
06-30 17:51:41.579: W/System.err(2355): at libcore.io.IoBridge.open(IoBridge.java:416)
06-30 17:51:41.579: W/System.err(2355): at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
06-30 17:51:41.579: W/System.err(2355): at java.io.FileOutputStream.<init>(FileOutputStream.java:128)
06-30 17:51:41.579: W/System.err(2355): at java.io.FileOutputStream.<init>(FileOutputStream.java:117)
06-30 17:51:41.590: W/System.err(2355): at com.br.teste012.GeraXml.setGeraXML(GeraXml.java:68)
06-30 17:51:41.590: W/System.err(2355): at com.br.teste012.MainActivity$3.onClick(MainActivity.java:71)
[quote]public void setGeraXML() throws IOException {
data = ManipulaData.getDataAtual();
String dirXml = "c:/temp/";
String nomArq = "ARQUIVO_XML.XML";
Calendar agora = null;
// horas, minutos e segundos
horas = agora.get(Calendar.HOUR);
minutos = agora.get(Calendar.MINUTE);
segundos = agora.get(Calendar.SECOND);
StringBuilder xml = new StringBuilder();
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
.append("<codbar>999999999</codbar>")
.append("<data>99/99/99</data")
.append("<horas>99:99:99</horas");
System.out.println(xml.toString()); .....até aqui tudo ok
Writer file = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dirXml+nomArq),"ISO-8859-1"));
file.write(xml.toString());
file.close();
}
[/quote]