获取一个值并将其显示在 EditText 上
Getting a value and displaying it on an EditText
我有以下代码,它是一个使用ZXing库的条码扫描应用程序。
txtoperatrice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
integrator.setPrompt("Scannez le code à barres SVP");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
});
}
txtoperatrice
是显示条码结果的EditText。结果由以下代码得到:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
///////// DISPLAY THE CODE IN THE EDITTEXT txtoperatrice
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}
将 txtoperatrice
设为全局变量,然后通过 findViewById
在您的 onCreate
方法
上分配它
和 onActivityResult 使用以下代码将其文本设置为结果
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
txtoperatrice.setText(result.getContents());
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}
如果 EditText txtoperatrice 的对象在您的 class 中是全局的,并且在 activity 的 onCreate 函数中使用 findViewById(R.id.yourEditText) 给出 XML 组件的 ID .
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
//you should have a string to put in this argument
//get your result in a string for example resultStr
String resultStr = result.getContents().tostring();
//the above line is just to clear what to do. it may not work exacly
// and then...
txtoperatrice.setText(resultStr);
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}
我有以下代码,它是一个使用ZXing库的条码扫描应用程序。
txtoperatrice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
integrator.setPrompt("Scannez le code à barres SVP");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
});
}
txtoperatrice
是显示条码结果的EditText。结果由以下代码得到:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
///////// DISPLAY THE CODE IN THE EDITTEXT txtoperatrice
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}
将 txtoperatrice
设为全局变量,然后通过 findViewById
在您的 onCreate
方法
和 onActivityResult 使用以下代码将其文本设置为结果
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
txtoperatrice.setText(result.getContents());
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}
如果 EditText txtoperatrice 的对象在您的 class 中是全局的,并且在 activity 的 onCreate 函数中使用 findViewById(R.id.yourEditText) 给出 XML 组件的 ID .
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result!=null){
if(result.getContents()==null){
Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
}
else{
//you should have a string to put in this argument
//get your result in a string for example resultStr
String resultStr = result.getContents().tostring();
//the above line is just to clear what to do. it may not work exacly
// and then...
txtoperatrice.setText(resultStr);
}
}
else{
super.onActivityResult(requestCode, resultCode, data);
}
}