【发布时间】:2018-08-16 12:45:18
【问题描述】:
我正在开发一个简单的应用程序,它从 pc 收集资产数据,每个资产都有两个条形码。条形码是序列号和型号。表单包含 2 个文本视图和 3 个按钮。每个文本视图返回每个的结果扫描。同时,2 个用于扫描条形码的按钮和 1 个用于将扫描结果提交到数据库的按钮。
下面的代码运行良好,但是当我使用任何“扫描”时,按钮总是将结果返回到序列号的第一个 textview。
public class MainActivity extends AppCompatActivity {
String scannedData;
TextView contentTxt;
TextView contentTxt2;
Button scanBtnSerial;
Button scanBtnModel;
//Button viewBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Activity activity =this;
scanBtnSerial = (Button)findViewById(R.id.scan_btn);//to scan serial number
scanBtnModel = (Button)findViewById(R.id.scan2_btn);//to scan model number
contentTxt = (TextView)findViewById(R.id.textView);//to view scanned serial number
contentTxt2 = (TextView)findViewById(R.id.textView3);//to view scanned model number
final TextView textView=(TextView)findViewById(R.id.textView);
scanBtnSerial.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
integrator.setPrompt("Scan Serial Number");
integrator.setBeepEnabled(false);
integrator.setCameraId(0);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
});
scanBtnModel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
integrator.setPrompt("Scan Model Number");
integrator.setBeepEnabled(false);
integrator.setCameraId(0);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
if(result!=null) {
scannedData = result.getContents();
if (scannedData != null) {
Log.d("MainActivity", "Scanned");
contentTxt.setText(result.getContents());
new SendRequest().execute();//send to database
}else {
}
}
super.onActivityResult(requestCode, resultCode, data);
}
谁能建议我如何管理“onActivityResult”以显示每次扫描的数据?
【问题讨论】:
-
我在答案中添加了解决此问题的 ZXIng 方法 :-)
标签: java android-studio android-activity zxing