duanhong169 / DrawableToolbox

🛠️ The missing drawable toolbox for Android. Create drawables programmatically and get rid of the boring and always repeated drawable.xml files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable$ConstantState android.graphics.drawable.Drawable.getConstantState()' on a null object reference

W-quan opened this issue · comments

java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable$ConstantState android.graphics.drawable.Drawable.getConstantState()' on a null object reference
        at android.graphics.drawable.RotateDrawable$RotateState.canConstantState(RotateDrawable.java:598)
        at android.graphics.drawable.RotateDrawable.getConstantState(RotateDrawable.java:398)
        at top.defaults.drawabletoolbox.CompatibleKt.setDrawable(Compatible.kt:173)
        at top.defaults.drawabletoolbox.RotateDrawableBuilder.build(RotateDrawableBuilder.kt:21)
        at top.defaults.drawabletoolbox.DrawableBuilder.wrapRotateIfNeeded(DrawableBuilder.kt:368)
        at top.defaults.drawabletoolbox.DrawableBuilder.access$wrapRotateIfNeeded(DrawableBuilder.kt:11)
        at top.defaults.drawabletoolbox.DrawableBuilder$wrap$1.invoke(DrawableBuilder.kt:329)
        at top.defaults.drawabletoolbox.DrawableBuilder$wrap$1.invoke(DrawableBuilder.kt:11)
        at top.defaults.drawabletoolbox.DrawableBuilder.wrap(DrawableBuilder.kt:336)
        at top.defaults.drawabletoolbox.DrawableBuilder.build(DrawableBuilder.kt:171)
        at top.defaults.drawabletoolboxapp.SampleCodeSnippetsKt$samples$11.build(SampleCodeSnippets.kt:183)
        at top.defaults.drawabletoolboxapp.DrawableFactory$DefaultImpls.build(DrawableFactory.kt:8)
        at top.defaults.drawabletoolboxapp.SampleCodeSnippetsKt$samples$11.build(SampleCodeSnippets.kt:173)
        at top.defaults.drawabletoolboxapp.spec.DrawableSpec.build(DrawableSpec.kt:8)
        at top.defaults.drawabletoolboxapp.spec.DrawableSpec.build$default(DrawableSpec.kt:8)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter$ViewHolder.bind(DrawableSpecAdapter.kt:78)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter.onBindViewHolder(DrawableSpecAdapter.kt:27)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter.onBindViewHolder(DrawableSpecAdapter.kt:17)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
        at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
        at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
        at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
        at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
        at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
        at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
        at android.view.View.layout(View.java:16009)
        at android.view.ViewGroup.layout(ViewGroup.java:5181)
        at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1858)
        at android.view.View.layout(View.java:16009)
        at android.view.ViewGroup.layout(ViewGroup.java:5181)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
        at android.view.View.layout(View.java:16009)
        at android.view.ViewGroup.layout(ViewGroup.java:5181)
        at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:444)
        at android.view.View.layout(View.java:16009)
        at android.view.ViewGroup.layout(ViewGroup.java:5181)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
        at android.view.View.layout(View.java:16009)
        at android.view.ViewGroup.layout(ViewGroup.java:5181)

Hi @W-quan, What's your Android version or the ROM and device's information?

5.1

Will check soon.

Fixed, please check it on the master branch.

java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable$ConstantState android.graphics.drawable.Drawable.getConstantState()' on a null object reference
        at android.graphics.drawable.RotateDrawable$RotateState.canConstantState(RotateDrawable.java:598)
        at android.graphics.drawable.RotateDrawable.getConstantState(RotateDrawable.java:398)
        at top.defaults.drawabletoolbox.CompatibleKt.setDrawable(Compatible.kt:173)
        at top.defaults.drawabletoolbox.RotateDrawableBuilder.build(RotateDrawableBuilder.kt:21)
        at top.defaults.drawabletoolbox.DrawableBuilder.wrapRotateIfNeeded(DrawableBuilder.kt:394)
        at top.defaults.drawabletoolbox.DrawableBuilder.access$wrapRotateIfNeeded(DrawableBuilder.kt:11)
        at top.defaults.drawabletoolbox.DrawableBuilder$wrap$1.invoke(DrawableBuilder.kt:347)
        at top.defaults.drawabletoolbox.DrawableBuilder$wrap$1.invoke(DrawableBuilder.kt:11)
        at top.defaults.drawabletoolbox.DrawableBuilder.wrap(DrawableBuilder.kt:354)
        at top.defaults.drawabletoolbox.DrawableBuilder.build(DrawableBuilder.kt:189)
        at top.defaults.drawabletoolboxapp.SampleCodeSnippetsKt$samples$12.build(SampleCodeSnippets.kt:220)
        at top.defaults.drawabletoolboxapp.DrawableFactory$DefaultImpls.build(DrawableFactory.kt:8)
        at top.defaults.drawabletoolboxapp.SampleCodeSnippetsKt$samples$12.build(SampleCodeSnippets.kt:206)
        at top.defaults.drawabletoolboxapp.spec.DrawableSpec.build(DrawableSpec.kt:8)
        at top.defaults.drawabletoolboxapp.spec.DrawableSpec.build$default(DrawableSpec.kt:8)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter$ViewHolder.bind(DrawableSpecAdapter.kt:78)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter.onBindViewHolder(DrawableSpecAdapter.kt:27)
        at top.defaults.drawabletoolboxapp.DrawableSpecAdapter.onBindViewHolder(DrawableSpecAdapter.kt:17)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019)
        at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
        at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
        at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)
        at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:366)
        at android.support.v7.widget.GapWorker.run(GapWorker.java:397)
        at android.os.Handler.handleCallback(Handler.java:815)
        at android.os.Handler.dispatchMessage(Handler.java:104)
        at android.os.Looper.loop(Looper.java:194)
        at android.app.ActivityThread.main(ActivityThread.java:5675)
        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:980)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)

The sample app uses the dependency from jcenter, which has not been updated yet.
I just changed this on commit 84d6360.
Please pull the latest commit and try again.