在安卓不断更新换代的潮流中,Recyclerview也不断优化,multiSnapRecyclerView分屏功能 应运而生了,但是哩事不与人愿,报了一个标题错误,在自己百般寻找方法和途径中解决了这个问题,下面是完整错误
java.lang.IllegalArgumentException: other than LinearLayoutManger is not supported
at com.takusemba.multisnaprecyclerview.MultiSnapRecyclerView.onAttachedToWindow(MultiSnapRecyclerView.java:48)
at android.view.View.dispatchAttachedToWindow(View.java:15563)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2955)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1656)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1372)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6782)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:933)
at android.view.Choreographer.doCallbacks(Choreographer.java:742)
at android.view.Choreographer.doFrame(Choreographer.java:674)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:919)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6595)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
这个错误,我前期验证一下,把设置LayoutManager的方法放在外面发现放在网络请求外面就不报错误了,
比如:
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
multiSnapRecyclerView.setLayoutManager(linearLayoutManager);
放在oncreate方法中,别放在监听方法中。就解决了