【问题标题】:Attempt to invoke virtual method GapWorker.remove(RecyclerView)' on a null object reference尝试在空对象引用上调用虚拟方法 GapWorker.remove(RecyclerView)'
【发布时间】:2018-05-03 09:09:10
【问题描述】:

我在 productionRecyclerview 上收到此错误,但不知道具体属于哪个类

我做了什么

谷歌它并找到https://issuetracker.google.com/issues/38375597,人们说它的android错误并修复在support lib 27.1.0

我更新了我的支持库和 buildVersion

support           : '27.1.0',
buildToolsVersion: '27.0.3',
compileSdkVersion : 26,

仍然发生这种崩溃

错误日志

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.GapWorker.remove(android.support.v7.widget.RecyclerView)' on a null object reference
       at android.support.v7.widget.RecyclerView.onDetachedFromWindow(RecyclerView.java:2534)
       at android.view.View.dispatchDetachedFromWindow(View.java:13586)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2849)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
       at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3076)
       at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5709)
       at android.view.ViewRootImpl.die(ViewRootImpl.java:5686)
       at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:387)
       at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:342)
       at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116)
       at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3893)
       at android.app.ActivityThread.access$1500(ActivityThread.java:164)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:159)
       at android.app.ActivityThread.main(ActivityThread.java:5461)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)

【问题讨论】:

  • 不应该也编译成sdk 27吗?
  • @Grisgram 这是唯一的原因吗?
  • 支持库在此期间是 27.1.1,我想看看你的依赖项 - 涉及 firebase?
  • @Grisgram:是的

标签: java android android-layout android-recyclerview


【解决方案1】:

当没有为RecyclerView 提供LayoutManager 时,通常会出现此问题。你可以这样做

final LinearLayoutManager layoutManager = new LinearLayoutManager(context);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多