显示问题:显示java.lang.NullPointerException在android.support.v7.widget.RecyclerView在机器人工作室1.1.0机器人、工作室、问题、l

2023-09-05 06:36:13 作者:你还未来我怎敢老去 ″

我最近更新的Andr​​oid的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());
 
Java学习教程 Java基础 反射

如何解决这个问题呢?

解决方案

当我拿出这条线从该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.