RecyclerView一个奇怪的npe异常

java.lang.NullPointerException
at android.support.v7.widget.RecyclerView.computeVerticalScrollOffset(RecyclerView.java:1613)
at android.view.View.canScrollVertically(View.java:12016)
at android.support.v4.view.ViewCompatICS.canScrollVertically(ViewCompatICS.java:35)
at android.support.v4.view.ViewCompat$ICSViewCompatImpl.canScrollVertically(ViewCompat.java:1253)
at android.support.v4.view.ViewCompat.canScrollVertically(ViewCompat.java:1695)
at com.leo.enjoytime.view.SwipyRefreshLayout.canChildScrollUp(SwipyRefreshLayout.java:644)
at com.leo.enjoytime.view.SwipyRefreshLayout.onInterceptTouchEvent(SwipyRefreshLayout.java:744)

原因是:

recyclerview is showing but no layout manager is set

解决办法:

you can just ensure that the layoutmanager for the recyclerview is set before you display the recyclerview with the scrollbars property set.

在recycleView被初始化之后需要setlayoutManager

recyclerView = (RecyclerView) rootView.findViewById(R.id.recycle);
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));

参考:

http://stackoverflow.com/questions/29005644/rendering-problems-java-lang-nullpointerexception-at-android-support-v7-widget?s=1|3.6524

http://stackoverflow.com/questions/26737113/java-lang-nullpointerexception-at-android-support-v7-widget-recyclerview-onmeasu

posted @ 2016-03-13 14:56  Leo的银弹  阅读(937)  评论(0编辑  收藏  举报