Stack Overflow em Português Asked by J.Young on December 2, 2021
Estou fazendo um aplicativo para android que lê um código de barras. Eu vi um vídeo no youtube que ensinava como fazer e repliquei para ter como base e funcionou de boas. O problema foi quando eu tentei colocar o retorno da leitura em um EditText
. No vídeo, o resultado aparece com Toast
. Por mais que eu tente não aparece nada no EditText
.
Segue o código Java:
package none.teste;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
import static none.teste.R.layout.activity_menu;
public class Menu extends AppCompatActivity implements ZXingScannerView.ResultHandler{
private ZXingScannerView leitorView;
EditText editCodigo;
Leitor l=new Leitor();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(activity_menu);
editCodigo = (EditText) findViewById(R.id.editCodigo);
Toast.makeText(Menu.this,"onCreate",Toast.LENGTH_LONG).show();
}
public void LEITURA(View view) {
leitorView = new ZXingScannerView(this);
setContentView(leitorView);
leitorView.setResultHandler(this);
leitorView.startCamera();
Toast.makeText(Menu.this,"LEITURA",Toast.LENGTH_LONG).show();
}
@Override
protected void onPause() {
super.onPause();
leitorView.stopCamera();
Toast.makeText(Menu.this,"onPause",Toast.LENGTH_LONG).show();
}
@Override
public void handleResult(Result result) {
leitorView.stopCamera();
setContentView(R.layout.activity_menu);
l.setLido(result.getText().toString());
editCodigo.setText(l.getLido());
Toast.makeText(Menu.this,"handleResult",Toast.LENGTH_LONG).show();
leitorView.resumeCameraPreview(this);
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(Menu.this,"onResume",Toast.LENGTH_LONG).show();
}
}
Esses Toasts coloquei para saber por onde o aplicativo tava passando e a classe Leitor
é besteira, só tem um atributo String
com getter and setter, não precisa disso.
Enfim, queria passar o resultado para o EditText
.
editCodigo.setText("seu código de barras").
Isso permite que seu campo que já foi declarado na classe receba o valor que foi lido.
Answered by Leonardo Paim on December 2, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP