Попытка вызвать виртуальный метод GapWorker.remove (RecyclerView) 'для ссылки на пустой объект - PullRequest
0 голосов
/ 03 мая 2018

Я получаю эту ошибку на Recyclerview в production, но не знаю точно, в каком классе

Что я сделал

Гугл это и нашел https://issuetracker.google.com/issues/38375597, где люди говорили об ошибке в Android и исправили в support lib 27.1.0

Я обновил мою поддержку lib и 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)

1 Ответ

0 голосов
/ 20 мая 2018

Эта проблема обычно возникает, если для RecyclerView не было указано LayoutManager. Вы можете сделать это так

final LinearLayoutManager layoutManager = new LinearLayoutManager(context);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...