[英]Bar Code Scanner App. Multiple Scanners On A Single Activity
I have a bar code scanner app that has the following layout... 我有一个条形码扫描仪应用程序,具有以下布局...
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/scanner"
android:id="@+id/button41"
android:layout_below="@+id/spinner7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="25dp"
android:onClick="openScanner1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/scan_content"
android:layout_below="@+id/button41"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="@string/serial_number" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/scanner"
android:id="@+id/button42"
android:layout_below="@+id/scan_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="openScanner2" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/scan_content2"
android:layout_below="@+id/button42"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="@string/serial_number" />
I want to be able to press button41
and recieve the serial number of the barcode in editText scan_content
, Then press button42
and recieve the serial number of that barcode in editText scan_content2
. 我希望能够按button41
和收到的EDITTEXT条形码序列号scan_content
,然后按button42
并在收到该EDITTEXT条码序列号scan_content2
。 My app crashes when i press either of the two buttons. 当我按下两个按钮中的任何一个时,我的应用程序崩溃。
public class BarCodeScanner extends Activity {
private EditText contentTxt;
private EditText contentTxt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bar_code_scanner);
contentTxt = (EditText) findViewById(R.id.scan_content);
contentTxt2 = (EditText) findViewById(R.id.scan_content2);
}
public void openScanner1 (View view) {
IntentIntegrator scanIntegrator = new IntentIntegrator (this);
scanIntegrator.initiateScan();
startActivityForResult(scanIntegrator, 1);
}
public void openScanner2 (View view) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
startActivityForResult(scanIntegrator, 2);
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (requestCode == 1&& resultCode == RESULT_OK) {
String scanContent = scanningResult.getContents();
contentTxt.setText(scanContent);
}
else if (requestCode == 2&& resultCode == RESULT_OK){
String scanContent = scanningResult.getContents();
contentTxt2.setText(scanContent);
}
else{
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
创建两个处理程序以执行2个任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.