2014-11-09 4 views
8

сегодня я пытался использовать новый Android-регенератор Android. Я создал новый проект с пустой деятельностью и добавил следующее его расположение:Ошибка Android RecyclerView

<android.support.v7.widget.RecyclerView 
    android:id="@+id/my_recycler_view" 
    android:scrollbars="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

В Gradle зависимостей, я добавил:

compile 'com.android.support:support-v4:21.0.0' 
compile 'com.android.support:recyclerview-v7:21.+' 
compile 'com.android.support:cardview-v7:21.+' 

Но рендеринг activity_main.xml еще показывает мне следующее сообщение об ошибке:

Rendering Problems The following classes could not be instantiated: 
- android.support.v7.widget.RecyclerView (Open Class, Show Exception) 
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE Exception Details java.lang.UnsupportedOperationException: Unsupported Service: accessibility   at com.android.layoutlib.bridge.android.BridgeContext.getSystemService(BridgeContext.java:465 

Я, кажется, не найти решение сам в сети, так как все говорят, «реализовать следующие зависимости в вашем Grad le build: ... ", который я уже добавил.

Может ли кто-нибудь предоставить решение?

С уважением Tak3r07

Edit: OnCreate:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
+0

добавить также код из OnCreate(). Возможно, вам что-то не хватает. – mt0s

+0

@ mt0s добавлен - но я ничего не изменил, так как это новый проект. – Tak3r07

+0

Ответьте, пожалуйста, – mt0s

ответ

6

Я думаю, что с RecyclerView у вас есть по крайней мере установить менеджер компоновки.

Если вы читали документы here:

In contrast to other adapter-backed views such as ListView or GridView, RecyclerView allows client code to provide custom layout arrangements for child views. These arrangements are controlled by the RecyclerView.LayoutManager. A LayoutManager must be provided for RecyclerView to function.

Вы можете попробовать после инстанцирования RecyclerView установить LayoutManager так:

recyclerView.setLayoutManager(new LinearLayoutManager(this)); 

(позже изменить его к LayoutManager, что соответствует лучше ваши потребности)

+0

Извините, что поздно, у меня не было времени, чтобы продолжить этот проект. Теперь я создал LinearLayoutManager и адаптер и добавил оба к recyclerview, но я все равно получаю ту же ошибку. – Tak3r07

+0

@ Tak3r07 LayoutManager не может быть установлен в xml, поэтому предварительный просмотр не работает для RecyclerView. – MyDogTom

+1

@MyDogTom Его можно установить в xml: https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html # attr_android.support.v7.recyclerview: layoutManager – Xiao

2

Это кажется ошибка в Android SDK 21. При обновлении до SDK 22 проблема должна исчезнуть.

+0

Большое спасибо, этот работает для меня. – theapache64

1

Просто обновить SDK 22 и проблема решена

+0

это не устранило ошибку – Markoe7

1

Просто измените уровень Api на верхней части экрана, в программе просмотра XML и сделать его 21 уровень апи он будет работать. надеюсь, это поможет вам.

-1

Привет надеюсь, это поможет вам Вы должны удалить атрибут скроллбары с вашей точки зрения

Смежные вопросы