Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Android Data Persistence CRUD Operations with SQLite Updating Existing Data

Sam McDavid
Sam McDavid
20,242 Points

Attempt to invoke virtual method 'java.util.Iterator java.util.ArrayList.iterator()' on a null object reference

I get a null pointer exception when I click on the share button

    java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Iterator java.util.ArrayList.iterator()' on a null object reference
            at com.teamtreehouse.mememaker.ui.fragments.MemeItemFragment.createMeme(MemeItemFragment.java:143)
            at com.teamtreehouse.mememaker.ui.fragments.MemeItemFragment.onOptionsItemSelected(MemeItemFragment.java:118)
            at android.app.Fragment.performOptionsItemSelected(Fragment.java:2159)
            at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1988)
            at android.app.Activity.onMenuItemSelected(Activity.java:2885)
            at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1127)
            at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761)
            at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
            at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904)
            at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894)
            at android.widget.ActionMenuView.invokeItem(ActionMenuView.java:587)
            at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:141)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

or when I click on the edit button

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.teamtreehouse.mememaker/com.teamtreehouse.mememaker.ui.activities.CreateMemeActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Iterator java.util.ArrayList.iterator()' on a null object reference
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Iterator java.util.ArrayList.iterator()' on a null object reference
            at com.teamtreehouse.mememaker.ui.activities.CreateMemeActivity.onCreate(CreateMemeActivity.java:61)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

Does anyone have an idea on how these need to be properly fixed?

Harry James
Harry James
14,780 Points

Hey Sam, were you able to fix this yet? If not, I'll try my best to help out.

1 Answer

Paul Wroe
Paul Wroe
13,762 Points

Hi, A NullPointerException usually means you tried to call a method off of an object that may have been declaired, but not yet set. Without seeing the code, I would guess that you tried to call a method off of an arraylist, (perhaps arraylist.sort()?) but the arraylist was not yet instantiated.

Please post your code for more help.

I hope that helps.