我最近更新的Android的SDK API 22和android工作室1.1.0。之后,我收到的RecyclerView呈现问题。下面是我收到
显示java.lang.NullPointerException
在android.support.v7.widget.RecyclerView.computeVerticalScrollRange(RecyclerView.java:1216)
在android.view.View.onDrawScrollBars(View.java:12943)
在android.view.View.draw(View.java:15237)
在android.support.v7.widget.RecyclerView.draw(RecyclerView.java:2440)
在android.view.View.draw(View.java:15140)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15138)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15234)
在android.view.View.draw(View.java:15140)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1086)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15138)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15138)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15234)
在android.view.View.draw(View.java:15140)
在android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
在android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
在android.view.ViewGroup.drawChild(ViewGroup.java:3405)
在android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
在android.view.View.draw(View.java:15234)
我收到此异常XML的preVIEW /设计,所以我不能够 查看XML设计。
该项目工作正常,没有任何例外。 这是我的小工具
< android.support.v7.widget.RecyclerView
机器人:ID =@ + ID / my_recycler_view
机器人:layout_width =match_parent
机器人:layout_height =0dp
机器人:layout_weight =8
机器人:layout_gravity =中心
机器人:重力=中心
机器人:滚动条=垂直
机器人:fadeScrollbars =假
/>
这是我的code
recyclerView =(RecyclerView)findViewById(R.id.my_recycler_view);
的layoutManager =新GridLayoutManager(这一点,2);
recyclerView.setLayoutManager(的layoutManager);
recyclerView.setHasFixedSize(真正的);
recyclerView.setItemAnimator(新DefaultItemAnimator());
如何解决这个问题呢?
解决方案当我拿出这条线从该RecyclerView xml文件我的问题解决了:
安卓滚动条=垂直
我用下面的依赖关系:
相关性{
编译文件树(导演:库,包括:['的* .jar'])
编译com.android.support:appcompat-v7:22.0.0
编译com.android.support:recyclerview-v7:22.0.0
编译com.android.support:cardview-v7:22.0.0
}
编辑:这个问题的根本所指出的这一解决方案评论员 - 来解决这个问题,你可以确保布局管理器为recyclerview摆在你们面前显示的滚动条属性设置的recyclerview
I have recently updated android sdk to api 22 and android studio 1.1.0. After that I am getting rendering issues on RecyclerView. Here is what I am getting
java.lang.NullPointerException
at android.support.v7.widget.RecyclerView.computeVerticalScrollRange(RecyclerView.java:1216)
at android.view.View.onDrawScrollBars(View.java:12943)
at android.view.View.draw(View.java:15237)
at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:2440)
at android.view.View.draw(View.java:15140)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15138)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15234)
at android.view.View.draw(View.java:15140)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1086)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15138)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15138)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15234)
at android.view.View.draw(View.java:15140)
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405)
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
at android.view.View.draw(View.java:15234)
I am getting this exception on xml preview/design, so I am not able to view the xml design.
The project is working fine without any exception. Here is my widget
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:layout_gravity="center"
android:gravity="center"
android:scrollbars="vertical"
android:fadeScrollbars="false"
/>
This is my code
recyclerView= (RecyclerView) findViewById(R.id.my_recycler_view);
layoutManager=new GridLayoutManager(this,2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
recyclerView.setItemAnimator(new DefaultItemAnimator());
How to solve this issue?
解决方案My problem was solved when I took out this line from the xml file for the RecyclerView:
android:scrollbars="vertical"
I am using the following dependencies:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:recyclerview-v7:22.0.0'
compile 'com.android.support:cardview-v7:22.0.0'
}
EDIT: The root of this issue was pointed out by commentators on this solution - to solve the problem, you can just ensure that the layoutmanager for the recyclerview is set before you display the recyclerview with the scrollbars property set.