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!
More Posts related to Android,
- Increase Android Emulator Timeout time
- Android : Remove ListView Separator/divider programmatically or using xml property
- Error : Invalid key hash.The key hash does not match any stored key hashes
- How to Change Android Toast Position?
- Android Alert Dialog with Checkboxes example
- Android : No Launcher activity found! Error
- Android Development: Spinners with Example
- Failed to sync Gradle project Error:failed to find target android-23
- INSTALL_FAILED_INSUFFICIENT_STORAGE Android Error
- Disable Fading Edges Scroll Effect Android Views
- How to create Toast messages in Android?
- Channel 50 SMSes received every few minutes Android Phones
- Android xml error Attribute is missing the Android namespace prefix [Solution]
- Create Custom Android AlertDialog
- How To Disable Landscape Mode in Android Application
- Android Development - How to switch between two Activities
- incorrect line ending: found carriage return (\r) without corresponding newline (\n)
- Generate Facebook Android SDK keyhash using java code
- Android Error Generating Final Archive - Debug Certificate Expired
- 21 Useful Android Emulator Short-cut Keyboard Keys
- Android RatingBar Example
- 11 Weeks of Android Online Sessions-15-Jun-to-28-Aug-2020
- Download interrupted: Unknown Host dl-ssl.google.com Error Android SDK Manager
- fill_parent vs match_parent vs wrap_content
- Android : Connection with adb was interrupted 0 attempts have been made to reconnect
More Posts:
- Fix: java: void cannot be dereferenced - Java
- Get Current Local Date and Time using Java 8 DateTime API - Java
- Bootstrap Nav Menu Dropdown on hover - Bootstrap
- Obsolete marquee element alternatives html5 - Html
- Docker Commit Command with Examples - Docker
- How to Check AWS SNS Permissions using CLI - AWS
- Android Studio : Change FAB icon color : FloatingActionButton - Android-Studio
- Capitalize the first letter of each word using Notepad++ - NotepadPlusPlus