我正在做条形码扫描仪。但我可以在 textview 中显示我的 resultCode。

I m doing barcode scanner. But I can display my resultCode in textview.

我想显示ZXING的扫描结果。我将 ZXING 集成到我的 android 应用程序中,扫描工作正常。现在我想在文本视图中显示条形码数字结果。我在我的项目中使用 zxing 库。我设置了 result.setText(resultCode) 但它不起作用。所以这是我在教程中遵循的代码。

package com.example.norhanom.barcodeqrcode;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;       //view button or textfield
import android.widget.Toast;    //to show and create message for user,appears 
 as floating view over app
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;

import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import com.google.zxing.Result;

 import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

 import me.dm7.barcodescanner.zxing.ZXingScannerView;


  public class MainActivity extends AppCompatActivity {

   private ZXingScannerView scannerView;
   TextView result;
    private ProgressDialog pd;

    @Override
     protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    result = (TextView)findViewById(R.id.textView1);
    pd = new ProgressDialog(MainActivity.this);
    pd.setMessage("loading");
    pd.setCancelable(false);
    pd.setCanceledOnTouchOutside(false);
     }

   public void scanCode(View view){

    scannerView = new ZXingScannerView(this); // Programmatically initialize 
    the scanner view
    scannerView.setResultHandler(new ZXingScannerResultHandler());

    setContentView(scannerView); //Set the scanner view as the content view
    scannerView.startCamera();   //scannerView open camera
    }



   @Override
   public void onPause()
   {
    super.onPause();
    scannerView.stopCamera(); //stop camera on pause
    }

    class ZXingScannerResultHandler implements ZXingScannerView.ResultHandler
    {

    @Override
    public void handleResult(Result result1)
    {
        String resultCode = result1.getText(); //get the result

     Toast.makeText(MainActivity.this,resultCode,Toast.LENGTH_LONG).show();  
     //show result
        setContentView(R.layout.activity_main);
        scannerView.stopCamera(); //camera stop






        }


      }


    }

下次使用setContentView后,您应该重新分配视图。

//inside handleResult
setContentView(R.layout.activity_main);
result = (TextView)findViewById(R.id.textView1);
result.setText(resultCode);
scannerView.stopCamera();