-2

E FATAL EXCEPTION: main Process: com.example.custmizedalertbox, PID: 20065 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.custmizedalertbox/com.example.custmizedalertbox.MainActivity}: 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:3308) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 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:2044) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 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.custmizedalertbox.MainActivity.onCreate(MainActivity.kt:29) at android.app.Activity.performCreate(Activity.java:7906) at android.app.Activity.performCreate(Activity.java:7893) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3283) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  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:2044)  at android.os.Handler.dispatchMessage(Handler.java:107)  at android.os.Looper.loop(Looper.java:223)  at android.app.ActivityThread.main(ActivityThread.java:7562)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 

My app is crashed while running it.

How to fix this

  • 1
    You're trying to invoke a method setOnClickListener on an object which hasn't been properly setup up, here: _Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object_ – Eric Feb 26 '23 at 17:33

1 Answers1

0

Assuming you have some code like this :-

Button btn = alertDialogView.findViewById(R.id.someButton);
if (btn != null) { //Add null check here
  btn.setOnClickListener(v -> {
   //some code
  });
}

so add null check here before setting setOnClickListener method to avoid any potential crash or just called it after above code line eg declare reference first and then try to invoke setOnClickListener.

Hope this helps!

Hussain Shabbir
  • 14,801
  • 5
  • 40
  • 56