8

मैं Recyclerview साथ ViewPager उपयोग कर रहा हूँ, लेकिन बनाने बार यह दुर्घटनाओं पर ...

मैं कोशिश कर रहा था Recyclerview.Adapter के साथ AsyncListUtil बाहर, और यह काम किया। जब मैंने व्यूपेजर में टुकड़ा स्थानांतरित किया तो इस तरह दुर्घटनाग्रस्त हो गया। कोई अंतर्दृष्टि?

  FATAL EXCEPTION: main 
      Process: com.dekanski.popularmovies, PID: 6554 
      java.lang.NullPointerException: Attempt to read from field 'int android.support.v7.widget.RecyclerView$ItemAnimator$ItemHolderInfo.left' on a null object reference 
      at android.support.v7.widget.SimpleItemAnimator.animateChange(SimpleItemAnimator.java:130) 
      at android.support.v7.widget.RecyclerView.animateChange(RecyclerView.java:3062) 
      at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2924) 
      at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037) 
      at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747) 
      at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:761) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:514) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 
      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 
      at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:514) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 
      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 
      at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 
      at android.widget.FrameLayout.onLayout(FrameLayout.java:514) 
      at android.view.View.layout(View.java:15671) 
      at android.view.ViewGroup.layout(ViewGroup.java:5038) 
      at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086) 
      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843) 
      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) 
      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) 
      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 
      at android.view.Choreographer.doCallbacks(Choreographer.java:580) 
      at android.view.Choreographer.doFrame(Choreographer.java:550) 
      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5254) 
      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:903) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

उत्तर

2

मैं इसे समझ गए होंगे ... मैं एप्लिकेशन शामिल करने के लिए missied: layout_behavior = "@ स्ट्रिंग/appbar_scrolling_view_behavior" viewpager, तो CoordinatorLayout कैसे करना है पता नहीं था यह काम सही ढंग से है।

+1

यह नई समर्थन लाइब्रेरी 23.1 में एक बग की तरह दिखता है जहां ItemHolderInfo पेश किया गया था। 23.1 के अपडेट से पहले मुझे यह क्रैश नहीं था। – WindRider

+1

एओएसपी बग रिपोर्ट के लिए लिंक है? – Eefret

+0

23.1.1 को तय किया जाना प्रतीत होता है, आपको इसे आजमा देना चाहिए। –

1

पर होता है और अधिक विशिष्ट notifyItem{Inserted,Removed,...} वेरिएंट के साथ RecyclerView.Adapter.notifyDataSetChanged() के लिए सभी कॉल बदलने के बाद, दुर्घटना मेरे लिए चले गए हैं लगता है।

4

यह समर्थन संस्करण 23.2.0 के साथ 23.2.1

+0

नाली के नीचे 3 घंटे :( –

+0

23.2.1 का उपयोग करने के बाद भी बंदर में समान दुर्घटना देखी जाती है –

0

इसकी मुद्दे में तय किया जा रहा है। 23.2.1:

compile 'com.android.support:design:23.2.1' 
संबंधित मुद्दे