0

I've been trying to fix this for weeks but failed, when I click on login (indicated with the id "lin") to open a new activity the app crash, i don't know if it's a problem with the Intent or something else, here is the code. The manifest should be ok so I think it's a problem in the MainActivity with Intent ab. The other activity is called Qrcode. I tried to change appcompatactivty to activity but didn't work, i don't really know what to do.

Edit: I posted the code of the qrcode activity, i got it from the answers of this question : Android, How to read QR code in my application?, only for educational purpose of course.

Edit 2: logcat posted, sorry for any issues with asking this question, it's the first question i ask here.

Logcat

2021-06-04 10:08:06.177 27399-27399/? I/h24distributor: Late-enabling -Xcheck:jni
2021-06-04 10:08:06.197 27399-27399/? I/h24distributor: Unquickening 21 vdex files!
2021-06-04 10:08:06.204 27399-27399/? E/h24distributor: Unknown bits set in runtime_flags: 0x800000
2021-06-04 10:08:06.343 27399-27399/? I/Perf: Connecting to perf service.
2021-06-04 10:08:06.360 27399-27399/? D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2021-06-04 10:08:06.360 27399-27399/com.example.h24distributori D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2021-06-04 10:08:06.386 27399-27399/com.example.h24distributori E/Config:Grabber:OnePlusFontConfig: Index 0 requested, with a size of 0
2021-06-04 10:08:06.417 27399-27399/com.example.h24distributori E/h24distributor: [frame_perf] perfboost open tb_ctl file failed, isApp[1], errno=No such file or directory
2021-06-04 10:08:06.418 27399-27399/com.example.h24distributori E/libprocessgroup: set_timerslack_ns write failed: Operation not permitted
2021-06-04 10:08:06.465 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.465 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.495 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.497 27399-27399/com.example.h24distributori I/chatty: uid=10692(com.example.h24distributori) identical 1 line
2021-06-04 10:08:06.497 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.506 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.506 27399-27399/com.example.h24distributori I/chatty: uid=10692(com.example.h24distributori) identical 1 line
2021-06-04 10:08:06.507 27399-27399/com.example.h24distributori E/h24distributor: Invalid ID 0x00000000.
2021-06-04 10:08:06.541 27399-27399/com.example.h24distributori I/OPFD_Manager: Dark? false, OP Force ? false
2021-06-04 10:08:06.542 27399-27399/com.example.h24distributori V/ViewRootImpl: The specified message queue synchronization  barrier token has not been posted or has already been removed
2021-06-04 10:08:06.608 27399-27399/com.example.h24distributori D/ViewRootImpl: support adaptive color gamut feature!
2021-06-04 10:08:06.646 27399-9660/com.example.h24distributori I/AdrenoGLES-0: QUALCOMM build                   : 559e78c, Ib9d997268a
    Build Date                       : 10/13/20
    OpenGL ES Shader Compiler Version: EV031.32.02.02
    Local Branch                     : mybrancheb0d76cb-f27a-f1ff-9cdc-1458d0b52ae8
    Remote Branch                    : quic/gfx-adreno.lnx.1.0.r99-rel
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
2021-06-04 10:08:06.646 27399-9660/com.example.h24distributori I/AdrenoGLES-0: Build Config                     : S P 10.0.7 AArch64
2021-06-04 10:08:06.646 27399-9660/com.example.h24distributori I/AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
2021-06-04 10:08:06.654 27399-9660/com.example.h24distributori I/AdrenoGLES-0: PFP: 0x016ee190, ME: 0x00000000
2021-06-04 10:08:06.740 27399-27399/com.example.h24distributori D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@a86767f[MainActivity]
2021-06-04 10:08:06.743 27399-27399/com.example.h24distributori D/ViewRootImpl[MainActivity]: windowFocusChanged hasFocus=true inTouchMode=true
2021-06-04 10:08:15.552 27399-9660/com.example.h24distributori W/DisplayEventDispatcher: dispatcher 0xb4000077f19b29f0 ~ ignoring unknown event type 0x6d746f6e
2021-06-04 10:08:15.552 27399-27399/com.example.h24distributori W/DisplayEventDispatcher: dispatcher 0xb4000077a19c5930 ~ ignoring unknown event type 0x6d746f6e
2021-06-04 10:08:15.927 27399-27399/com.example.h24distributori D/ViewRootImpl[MainActivity]: windowFocusChanged hasFocus=false inTouchMode=true
2021-06-04 10:08:41.340 27399-27399/com.example.h24distributori D/ActivityThread: pid:27399 tid:27399 doframe Callback
2021-06-04 10:08:41.351 27399-9660/com.example.h24distributori W/DisplayEventDispatcher: dispatcher 0xb4000077f19b29f0 ~ ignoring unknown event type 0x6d746f6e
2021-06-04 10:08:41.351 27399-27399/com.example.h24distributori W/DisplayEventDispatcher: dispatcher 0xb4000077a19c5930 ~ ignoring unknown event type 0x6d746f6e
2021-06-04 10:08:41.530 27399-27399/com.example.h24distributori D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@a86767f[MainActivity]
2021-06-04 10:08:41.531 27399-27399/com.example.h24distributori D/ViewRootImpl[MainActivity]: windowFocusChanged hasFocus=true inTouchMode=true
2021-06-04 10:08:42.117 27399-27399/com.example.h24distributori D/AndroidRuntime: Shutting down VM
2021-06-04 10:08:42.118 27399-27399/com.example.h24distributori E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.h24distributori, PID: 27399
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.h24distributori/com.example.h24distributori.Qrcode}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3611)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3775)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2246)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:233)
        at android.app.ActivityThread.main(ActivityThread.java:8010)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
        at com.example.h24distributori.Qrcode.onCreate(Qrcode.java:59)
        at android.app.Activity.performCreate(Activity.java:8006)
        at android.app.Activity.performCreate(Activity.java:7990)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3584)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3775) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2246) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:233) 
        at android.app.ActivityThread.main(ActivityThread.java:8010) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978) 
2021-06-04 10:08:42.149 27399-27399/com.example.h24distributori I/Process: Sending signal. PID: 27399 SIG: 9

MainActivity


import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import android.content.Intent;
import android.graphics.Typeface;
//import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends Activity {

        EditText pswd,usrusr;
        TextView sup,lin;
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            lin = (TextView) findViewById(R.id.lin);
            usrusr = (EditText) findViewById(R.id.usrusr);
            pswd = (EditText) findViewById(R.id.pswrdd);
            sup = (TextView) findViewById(R.id.sup);

            lin.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick (View v)
                {
                    Intent ab = new Intent(MainActivity.this, Qrcode.class);
                    startActivity(ab);
                }
            });
            sup.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick (View v)
                {
                    Intent it = new Intent(MainActivity.this, Signup.class);
                    startActivity(it);
                }
            });
        }
    }

Activity main layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/grdnt"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:paddingLeft="60dp"
        android:paddingRight="60dp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="16dp">
                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:src="@drawable/usrusr"
                    android:layout_gravity="center"/>
                <EditText
                    android:id="@+id/usrusr"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Username"
                    android:textColorHint="#d9e5f3"
                    android:layout_marginLeft="15dp"
                    android:background="#00000000"
                    android:letterSpacing="0.1"
                    android:textSize="16dp"
                    android:inputType="text"
                    android:textColor="#fff"
                    />
            </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#4a5a71"></LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="16dp">
                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:src="@drawable/pswd"
                    android:layout_gravity="center"/>
                <EditText
                    android:id="@+id/pswrdd"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Password"
                    android:textColorHint="#d9e5f3"
                    android:layout_marginLeft="15dp"
                    android:background="#00000000"
                    android:inputType="textPassword"
                    android:letterSpacing="0.1"
                    android:textSize="16dp"
                    android:textColor="#fff"/>
            </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#4a5a71"></LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="60dp"
        android:paddingRight="60dp"
        android:orientation="vertical"
        android:gravity="bottom"
        android:layout_marginBottom="20dp">
        <TextView
            android:id="@+id/lin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#009a9a"
            android:text="Login"
            android:textColor="#d9e5f3"
            android:textStyle="bold"
            android:gravity="center"
            android:layout_gravity="bottom"
            android:padding="16dp"
            android:layout_marginBottom="50dp"
            android:letterSpacing="0.2"/>
        <TextView
            android:id="@+id/sup"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Non hai un account? Registrati"
            android:textColor="#d9e5f3"
            android:letterSpacing="0.1"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:layout_marginBottom="400dp">
        <ImageView
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:src="@drawable/logo_large"
            />
    </LinearLayout>

</RelativeLayout>

Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.h24distributori">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">
        <activity android:name=".Qrcode"></activity>
        <activity android:name=".Signup" />
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Qrcode activity:

package com.example.h24distributori;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;

public class Qrcode extends Activity {

        ImageView imageView;
        Button button;
        Button btnScan;
        EditText editText;
        String EditTextValue ;
        Thread thread ;
        public final static int QRcodeWidth = 350 ;
        Bitmap bitmap ;

        TextView tv_qr_readTxt;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_qrcode);

            imageView = (ImageView)findViewById(R.id.imageView);
            editText = (EditText)findViewById(R.id.editText);
            button = (Button)findViewById(R.id.button);
            btnScan = (Button)findViewById(R.id.btnScan);
            tv_qr_readTxt = (TextView) findViewById(R.id.tv_qr_readTxt);

            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(!editText.getText().toString().isEmpty()){
                        EditTextValue = editText.getText().toString();

                        try {
                            bitmap = TextToImageEncode(EditTextValue);

                            imageView.setImageBitmap(bitmap);

                        } catch (WriterException e) {
                            e.printStackTrace();
                        }
                    }
                    else{
                        editText.requestFocus();
                        Toast.makeText(Qrcode.this, "Please Enter Your Scanned Test" , Toast.LENGTH_LONG).show();
                    }

                }
            });


            btnScan.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    IntentIntegrator integrator = new IntentIntegrator(Qrcode.this);
                    integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
                    integrator.setPrompt("Scan");
                    integrator.setCameraId(0);
                    integrator.setBeepEnabled(false);
                    integrator.setBarcodeImageEnabled(false);
                    integrator.initiateScan();

                }
            });
        }


        Bitmap TextToImageEncode(String Value) throws WriterException {
            BitMatrix bitMatrix;
            try {
                bitMatrix = new MultiFormatWriter().encode(
                        Value,
                        BarcodeFormat.DATA_MATRIX.QR_CODE,
                        QRcodeWidth, QRcodeWidth, null
                );

            } catch (IllegalArgumentException Illegalargumentexception) {

                return null;
            }
            int bitMatrixWidth = bitMatrix.getWidth();

            int bitMatrixHeight = bitMatrix.getHeight();

            int[] pixels = new int[bitMatrixWidth * bitMatrixHeight];

            for (int y = 0; y < bitMatrixHeight; y++) {
                int offset = y * bitMatrixWidth;

                for (int x = 0; x < bitMatrixWidth; x++) {

                    pixels[offset + x] = bitMatrix.get(x, y) ?
                            getResources().getColor(R.color.QRCodeBlackColor):getResources().getColor(R.color.QRCodeWhiteColor);
                }
            }
            Bitmap bitmap = Bitmap.createBitmap(bitMatrixWidth, bitMatrixHeight, Bitmap.Config.ARGB_4444);

            bitmap.setPixels(pixels, 0, 350, 0, 0, bitMatrixWidth, bitMatrixHeight);
            return bitmap;
        }




        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
            if(result != null) {
                if(result.getContents() == null) {
                    Log.e("Scan*******", "Cancelled scan");

                } else {
                    Log.e("Scan", "Scanned");

                    tv_qr_readTxt.setText(result.getContents());
                    Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
                }
            } else {
                // This is important, otherwise the result will not be passed to the fragment
                super.onActivityResult(requestCode, resultCode, data);
            }
        }
    }
  • 1st u need to set TextView `android:clickable="true"` `android:focusable="true"` i think try, 2nd check QRcode Activity , check permission related issues – Ramesh Jun 03 '21 at 18:42

2 Answers2

0

ur code in MainActivity seems ok and I think don't have any problem. In my opinion your Qrcode Activity has some bugs in it, like onCreate method, you should see the Logcat logs in android Studio, btw u can attach the Qrcode activity codes here, it is really helpful. another way to find the bug is by using the try-catch in your code and log the exception

  • 2
    It's more like a comment than a answer. – Brendon Jun 03 '21 at 17:50
  • Posted logcat and qrcode activity, thanks for the help! – Nicola Frascati Jun 04 '21 at 08:13
  • `Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.example.h24distributori.Qrcode.onCreate(Qrcode.java:59)` this is the main reason, on line 59 of Qrcode you have a null pointer exception that means the button is null and you can not set the onClickListener to it , check associated findViewById and make sure ur id is correct – Ahmadreza Zarei Jun 04 '21 at 09:22
0

Here's the error

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.example.h24distributori.Qrcode.onCreate(Qrcode.java:59)

What does it mean? You are trying to setOnClickListener on a null object reference.

Check the next line in the log

    at com.example.h24distributori.Qrcode.onCreate(Qrcode.java:59)

"QrCode.java:59" This means that the error is in QrCode activity on line 59.

You are setting a onclicklistener to 'button' on line 59. This means that 'button' variable is null.

But I can see that you have initialized the button variable

        button = (Button)findViewById(R.id.button);

So why is it still null? There is no button with id R.id.button, so findViewById() returns null. Check the QrCode activity layout xml