如何在Android中将插入代码和条形码结合在一起?

时间:2019-07-08 02:48:53

标签: android android-alertdialog

我有两组代码。两组都需要相同的名称onActivityResult,但我不确定如何在不冲突的情况下将它们组合在一起。

这两组代码是:

  1. 第一个设置:要求用户单击无图像ImageView从其移动设备中选择图像,然后它将显示他们选择的图像

  2. 第二组:要求用户单击“按钮”来扫描条形码。它将打开一个照相机供用户扫描条形码,扫描后将显示条形码中的数字。

这是两组代码:

第一组代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Check for Image Request , If user get the image is ok, and the image is not null
    if(requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null){

        //Put the image data into this mImageUri
        mImageUri = data.getData();

        //This line take the data from mImageUri and load into mImageView so basically changing the uri to image
        Picasso.with(this).load(mImageUri).into(ItemORFoodImg);
    }
}

第二组代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    final IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);
    if(result != null){
        if(result.getContents() == null){
            Toast.makeText(this, "Result Not Found", Toast.LENGTH_SHORT).show();
        }
        else{
            AlertDialog.Builder alertdialogbuilder = new AlertDialog.Builder(this);
            alertdialogbuilder.setMessage(result.getContents()+"\n\nWant to add as new item?");
            alertdialogbuilder.setTitle("ResultScanned");
            alertdialogbuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    String barcode = result.getContents();
                    Intent intent = new Intent(BarcodeTest.this,AddNewItem.class);
                    intent.putExtra(BarID, barcode);
                    startActivity(intent);
                }
            });
            alertdialogbuilder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    finish();
                }
            });
            AlertDialog alertDialog = alertdialogbuilder.create();
            alertDialog.show();
        }
    }
    else {
        super.onActivityResult(requestCode,resultCode,data);
    }
}

有人可以帮助我在不冲突的情况下结合这两个代码段吗?

1 个答案:

答案 0 :(得分:1)

您可以使用IntentService。 您可以创建两个Java类,一个用于插入代码,一个用于QR码。 当按下ImageView时,将插入代码类别,当按下按钮时,将其转到QR代码类别。 然后将数据传递给您的活动。 点击此链接 https://developer.android.com/reference/android/app/IntentService