Как использовать androidx.recyclerview.widget.RecyclerView с tools:listitem?
У меня такой расклад:
<?xml version = "1.0" encoding = "utf-8"?>
<androidx.recyclerview.widget.RecyclerView
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:id = "@+id/recyclerViewActors"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
app:layoutManager = "androidx.recyclerview.widget.GridLayoutManager"
tools:layoutManager = "androidx.recyclerview.widget.GridLayoutManager"
tools:listitem = "@layout/list_item_actor"
tools:itemCount = "5"
tools:orientation = "horizontal"
tools:scrollbars = "horizontal"
tools:spanCount = "2"/>
но вкладка Дизайн не показывает предварительный просмотр:
И если я заменю androidx.recyclerview.widget.RecyclerView в этом макете на ListView, предварительный просмотр будет работать:
@crammeur, но у меня такая проблема и без этой строчки
Я вижу, что на дисплее студии Android этот java.lang.ClassNotFoundException: androidx.recyclerview.widget.GridLayoutManager может объяснить, почему у вас нет дисплея. Поэтому он не может отображать, потому что не нашел этого
Вы используете implementation 'androidx.recyclerview:recyclerview:1.0.0-beta01' или implementation 'androidx.recyclerview:recyclerview:1.0.0-alpha1', потому что, когда я использую альфа-версию, я вижу, но когда я меняю, я не вижу предварительного просмотра
попробуйте очистить проект и пересобрать его
Из вашего кода кажется, что ваш recyclerview является корневым элементом XML, и в нем отсутствует ссылка из xmlns: tools
Попробуйте использовать другой корневой элемент в качестве ограничивающего макета или даже просто макета, как в примере гугл подсолнух:
<layout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools">
<androidx.recyclerview.widget.RecyclerView
android:id = "@+id/plant_list"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:clipToPadding = "false"
android:paddingLeft = "@dimen/margin_normal"
android:paddingRight = "@dimen/margin_normal"
app:layoutManager = "androidx.recyclerview.widget.LinearLayoutManager"
tools:context = "com.google.samples.apps.sunflower.GardenActivity"
tools:listitem = "@layout/list_item_plant" />
</layout>
Я копирую ваш код, и когда я добавляю эту строку
tools:layoutManager = "androidx.recyclerview.widget.GridLayoutManager"в свой код, у меня такая же проблема (не вижу мои элементы), поэтому вы можете удалить ее, если она не нужна