I use QR code scanner in Android, I want split value but i cant sent result to Main_Activity from ScanActivity,crash the program and I have Error in this below
(Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.BaseBundle.getString(java.lang.String)' on a null object reference at com.exampledemo.parsaniahardik.scanbarcodeqrdemonuts.MainActivity.onCreate(MainActivity.java:26))
Anybody can help me please?
*** MainActivity Code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
Bundle my_split = getIntent().getExtras();
String st = my_split.getString("tvresult1");
String totale = st;
String [] parte = totale.split("-");
part1 = parte[0];
part2 = parte[1];
part3 = parte[2];
part4 = parte[3];
part5 = parte[4];
part6 = parte[5];
MainActivity.Name.setText(""+part1);
MainActivity.TNumber.setText(""+part2);
MainActivity.date.setText(""+part3);
MainActivity.numberOf.setText(""+part4);
MainActivity.sum.setText(""+part5);
MainActivity.amount.setText(""+part6);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ScanActivity.class);
startActivity(intent);
}
});
**ScanActivity
package com.exampledemo.parsaniahardik.scanbarcodeqrdemonuts;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import me.dm7.barcodescanner.zbar.ZBarScannerView;
public class ScanActivity extends AppCompatActivity implements ZBarScannerView.ResultHandler {
private ZBarScannerView mScannerView;
String part1,part2,part3,part4,part5,part6;
//camera permission is needed.
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
mScannerView = new ZBarScannerView(this); // Programmatically initialize the scanner view
setContentView(mScannerView); // Set the scanner view as the content view
}
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
mScannerView.startCamera(); // Start camera on resume
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera(); // Stop camera on pause
}
@Override
public void handleResult(me.dm7.barcodescanner.zbar.Result result) {
// Do something with the result here
Log.v("kkkk", result.getContents()); // Prints scan results
Log.v("uuuu", result.getBarcodeFormat().getName()); // Prints the scan format (qrcode, pdf417 etc.)
// MainActivity.tvresult.setText(result.getContents());
// onBackPressed();
Intent mainActivity = new Intent(this,MainActivity.class);
mainActivity.putExtra("tvresult1",result.getContents().toString());
startActivity(mainActivity);
}
}