Как использовать androidx.recyclerview.widget.RecyclerView с помощью tools: listitem?

Как использовать 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 с помощью tools: listitem?

И если я заменю androidx.recyclerview.widget.RecyclerView в этом макете на ListView, предварительный просмотр будет работать:

Как использовать androidx.recyclerview.widget.RecyclerView с помощью tools: listitem?

Я копирую ваш код, и когда я добавляю эту строку tools:layoutManager = "androidx.recyclerview.widget.GridLayout‌​Manager" в свой код, у меня такая же проблема (не вижу мои элементы), поэтому вы можете удалить ее, если она не нужна

Crammeur 04.08.2018 17:59

@crammeur, но у меня такая проблема и без этой строчки

Ksenia 04.08.2018 18:06

Я вижу, что на дисплее студии Android этот java.lang.ClassNotFoundException: androidx.recyclerview.widget.GridLayoutManager может объяснить, почему у вас нет дисплея. Поэтому он не может отображать, потому что не нашел этого

Crammeur 04.08.2018 18:11

Вы используете implementation 'androidx.recyclerview:recyclerview:1.0.0-beta01' или implementation 'androidx.recyclerview:recyclerview:1.0.0-alpha1', потому что, когда я использую альфа-версию, я вижу, но когда я меняю, я не вижу предварительного просмотра

Crammeur 04.08.2018 18:57

попробуйте очистить проект и пересобрать его

Divyanshu Kumar 03.06.2020 09:25
9
5
36 633
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из вашего кода кажется, что ваш 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>

Другие вопросы по теме