
RuntimeException exceptions in Java are the ones that would occur while running your Android Application on the device or Emulator. The of the most common such exception is NullPointerException.
NullPointerException occurs when you call a function on an Object that is null, so just make sure of what line number that error occurred and see what object has a function called on it and see how it can be null. Let's see an example,
@Override
10 protected void onCreate(Bundle savedInstanceState) {
11
12 Button myButton = findViewById(R.id.button2);
13 myButton.setOnClickListener(new View.OnClickListener() {
14 @Override
15 public void onClick(View v) {
16 System.out.println("Button Clicked!");
17 }
18 });
19
20 setContentView(R.layout.activity_main);
21 super.onCreate(savedInstanceState);
}
2021-04-23 23:53:40.123 7489-7489/com.example.myapplication
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 7489
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}:
java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
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:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.myapplication.MainActivity.onCreate(MainActivity.java:13)
Here the error occurred at line number 13 of MainActivity.java so the object myButton and that's because the line number 20 - setContentView(R.layout.activity_main); needs to be set before line number 13 or else we will not get the View Object that has the button!
Have Questions? Post them here!
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!