我正在做一个小的Android项目..我连接了Xzing条形码扫描仪,一切正常。现在我又需要一个scann按钮。但当我用第二个按钮扫描时,它会将结果写在与第一个scann- button相同的字段中。
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);
}
}发布于 2014-03-04 23:19:21
该onActivityResult1函数永远不会被调用。当Xzing意图返回时,您必须管理onActivityResult中的所有结果代码(顺便说一句,应该标记为@Override)。
通常,你想要的东西应该用不同的requestCode来管理,但是Xzing的意图帮助器似乎不允许这样做。
所以,在你的例子中,我会设置一个全局布尔变量wasCalledFromButton1,在相应的onClick方法中给它一个值,然后根据这个变量在onActivityResult中给出正确的EditText返回值。
https://stackoverflow.com/questions/22173622
复制相似问题