Проблемы с рендерингом: java.lang.NullPointerException в android.support.v7.widget.RecyclerView в Android Studio 1.1.0

Я недавно обновил Android-приложение sdk для api 22 и android studio 1.1.0. После этого я получаю проблемы с рендерингом в RecyclerView. Вот что я получаю

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) 

Я получаю это исключение в xml preview / design, поэтому я не могу просмотреть проект xml.

Проект отлично работает без каких-либо исключений. Вот мой виджет

  <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" /> 

Это мой код

  recyclerView= (RecyclerView) findViewById(R.id.my_recycler_view); layoutManager=new GridLayoutManager(this,2); recyclerView.setLayoutManager(layoutManager); recyclerView.setHasFixedSize(true); recyclerView.setItemAnimator(new DefaultItemAnimator()); 

Как решить эту проблему?

Solutions Collecting From Web of "Проблемы с рендерингом: java.lang.NullPointerException в android.support.v7.widget.RecyclerView в Android Studio 1.1.0"

Моя проблема была решена, когда я вынул эту строку из xml-файла для RecyclerView:

 android:scrollbars="vertical" 

Я использую следующие зависимости:

 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: корень этой проблемы был отмечен комментаторами этого решения. Чтобы решить эту проблему, вы можете просто убедиться, что LayoutManager для RecyclerView установлен перед отображением RecyclerView с заданным набором свойств прокрутки.

У меня была такая же ошибка. Строка 1216 RecyclerView:

 return mLayout.canScrollVertically() ? mLayout.computeVerticalScrollRange(mState) : 0; 

В то время, когда значение null равно null, я не уверен, почему оно равно null, но, похоже, вам нужно вызвать setLayoutManager () в RecyclerView сразу после setContentView() или setContentView() inflate() . Мой код запускал фоновый поток, прежде чем я попытался получить доступ к RecyclerView и вызвать его setLayoutManager() . Как только я перешел к следующему, он работает

т.е.

 this.setContentView(R.layout.schedule); rv = (RecyclerView) this.findViewById(R.id.schedule_listview); rv.setLayoutManager(new LinearLayoutManager(this)); 

Я все еще не совсем понимаю, зачем это делать, хотя

Вам не нужно удалять какую-либо строку, но добавьте следующую строку в свой код:

 recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext())); 

Таким образом, нет никакой проблемы для вертикальной прокрутки в RecyclerView.

Надеюсь, поможет!

На всякий случай люди все еще интересуются, вам следует обновиться до последней платформы SDK для API 22 через SDK Manager и обновить до последнего вида ресайклеров, обновив репозиторий поддержки через SDK Manager и в файле build.gradle для использования Последняя версия (22.0.0)

Я просто удалил свойство android: scrollbars = "vertical", и все будет хорошо