App Crashing on Calling ImageGalleryActivity
@lawloretienne Hi,
I have used the following code to open the ImageGalleryActivity:
Intent intent = new Intent(BaseActivity.this, ImageGalleryActivity.class);
String[] images = getResources().getStringArray(R.array.unsplash_images);
Bundle bundle = new Bundle();
bundle.putStringArrayList(ImageGalleryActivity.KEY_IMAGES, new ArrayList<>(Arrays.asList(images)));
bundle.putString(ImageGalleryActivity.KEY_TITLE, "Unsplash Images");
intent.putExtras(bundle);
startActivity(intent);
(Also added image urls in strings file)
But, i see the app is crashing with the following log:
04-02 23:12:53.080 29349-29349/nikhil.reddy.MNB E/AndroidRuntime: FATAL EXCEPTION: main Process: nikhil.reddy.MNB, PID: 29349 java.lang.NullPointerException: Attempt to invoke interface method 'void com.etiennelawlor.imagegallery.library.adapters.ImageGalleryAdapter$ImageThumbnailLoader.loadImageThumbnail(android.widget.ImageView, java.lang.String, int)' on a null object reference at com.etiennelawlor.imagegallery.library.activities.ImageGalleryActivity.loadImageThumbnail(ImageGalleryActivity.java:98) at com.etiennelawlor.imagegallery.library.adapters.ImageGalleryAdapter.onBindViewHolder(ImageGalleryAdapter.java:69) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229) at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608) at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at com.android.internal.policy.DecorView.onLayout(DecorView.java:759) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2515) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2224) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1410) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6834) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966) at android.view.Choreographer.doCallbacks(Choreographer.java:778) at android.view.Choreographer.doFrame(Choreographer.java:713) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6809) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 04-02 23:12:53.082 29349-29349/nikhil.reddy.MNB E/AndroidRuntime: FATAL EXCEPTION: main Process: nikhil.reddy.MNB, PID: 29349 java.lang.NullPointerException: Attempt to invoke interface method 'void com.etiennelawlor.imagegallery.library.adapters.ImageGalleryAdapter$ImageThumbnailLoader.loadImageThumbnail(android.widget.ImageView, java.lang.String, int)' on a null object reference at com.etiennelawlor.imagegallery.library.activities.ImageGalleryActivity.loadImageThumbnail(ImageGalleryActivity.java:98) at com.etiennelawlor.imagegallery.library.adapters.ImageGalleryAdapter.onBindViewHolder(ImageGalleryAdapter.java:69) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229) at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608) at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at com.android.internal.policy.DecorView.onLayout(DecorView.java:759) at android.view.View.layout(View.java:19692) at android.view.ViewGroup.layout(ViewGroup.java:6057) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2515) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2224) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1410) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6834) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966) at android.view.Choreographer.doCallbacks(Choreographer.java:778) at android.view.Choreographer.doFrame(Choreographer.java:713) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6809) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
I have also seen another guy has posted similar error log, and mentioned it was cleared on using Pallete, but i am even more confused with it. Please help me in resolving it.
It seems the error is related to SDK 28. I'm getting this after updating my SDK.