我正在开发一个小型 Android 项目.. 我已链接 Xzing 条码扫描仪并且一切正常。现在我又需要一个扫描按钮。但是,当我使用第二个按钮进行扫描时,它会将结果写入与第一个扫描按钮相同的字段中。有人可以帮助我吗?
package de.example.addmeter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //Fullscreen
setContentView(R.layout.add_strom);
}
public void onClick1 (View view) {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
String meterid;
meterid = scanResult.getContents();
EditText etmeterid = (EditText) findViewById(R.id.etmeterid);
etmeterid.setText(meterid);
}
}
public void onClick2 (View view) {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
}
public void onActivityResult1(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
String security;
security = scanResult.getContents();
EditText etsecurity = (EditText) findViewById(R.id.etsecurity);
etsecurity.setText(security);
}
}
最佳答案
onActivityResult1
函数永远不会被调用。当 Xzing Intent 返回时,您必须管理 onActivityResult
中的所有结果代码(顺便说一下,应该标记为 @Override
)。
通常,你想要的应该用不同的requestCode
来管理,但似乎Xzing intent helper不允许。
所以,在你的情况下,我会做一些事情,比如设置一个全局 boolean 变量 wasCalledFromButton1
,在相应的 onClick
方法中给它一个值,然后给返回的根据此变量将值赋给 onActivityResult
中的正确 EditText。
关于java - 多个扫描按钮 Zxing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22173622/