简体   繁体   English

条形码扫描仪应用程序。 单个活动中有多个扫描仪

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM