v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

两盒软妹~` 提交于 2019-12-12 16:25:46

问题


While running my recyclerview list fragment i am getting this error

 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.support.v4.view.AccessibilityDelegateCompat.getBridge()' on a null object reference
    at android.support.v4.view.ViewCompat$ICSViewCompatImpl.setAccessibilityDelegate(ViewCompat.java:923)
    at android.support.v4.view.ViewCompat.setAccessibilityDelegate(ViewCompat.java:1343)
    at android.support.v7.widget.RecyclerView$Recycler.addViewHolderToRecycledViewPool(RecyclerView.java:3900)
    at android.support.v7.widget.RecyclerView$Recycler.recycleCachedViewAt(RecyclerView.java:3843)
    at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:3880)
    at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:3804)
    at android.support.v7.widget.RecyclerView$LayoutManager.removeAndRecycleViewAt(RecyclerView.java:5529)
    at android.support.v7.widget.LinearLayoutManager.recycleChildren(LinearLayoutManager.java:1139)
    at android.support.v7.widget.LinearLayoutManager.recycleViewsFromStart(LinearLayoutManager.java:1180)
    at android.support.v7.widget.LinearLayoutManager.recycleByLayoutState(LinearLayoutManager.java:1244)
    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1268)
    at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1102)
    at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:959)
    at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1047)
    at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:1768)
    at android.view.View.dispatchTouchEvent(View.java:8388)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2424)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2158)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430)
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314)
    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692)
    at android.app.Activity.dispatchTouchEvent(Activity.java:2739)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275)
    at android.view.View.dispatchPointerEvent(View.java:8578)
    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021)
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887)
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449)
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.j
03-20 14:34:37.691: I/Process(9568): Sending signal. PID: 9568 SIG: 9

回答1:


I delete the support library in adt bundle and install it fresh. After copy and paste the support v4 jar and support-v7-recyclerview.jar in my project. Now its working fine for me.




回答2:


Make sure your dependencies are up to date, I had the same problem and changed to this in my build.gradle file;

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.+'
    compile 'com.android.support:appcompat-v7:22.+'
    compile 'com.android.support:recyclerview-v7:22.+'
}



回答3:


It seems to be a bug in revision 22. Revision 21 works fine for me. You can always extract the RecyclerView sources then compile it as a .jar and import it into your project. (I did this in Eclipse, I don't want to move to Android Studio yet.)

Sources can be found in \extras\android\m2repository\com\android\support\recyclerview-v7\21.0.3\recyclerview-v7-21.0.3-sources.jar

(I guess it needs Android Support Repository to be installed from Android SDK Manager)

There is also an open ticket https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=160781



来源:https://stackoverflow.com/questions/29163107/v7-recyclerview-nullpointerexception-accessibilitydelegatecompat-getbridge

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!