web-dev-qa-db-ja.com

tools:listitemでandroidx.recyclerview.widget.RecyclerViewを使用する方法は?

使い方 androidx.recyclerview.widget.RecyclerView with 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"/>

ただし、Designタブにはプレビューが表示されません:

enter image description here

そして、androidx.recyclerview.widget.RecyclerViewこのレイアウトでListViewにすると、プレビューが機能します。

enter image description here

7
Ksenia

コードから、recyclerviewはXMLのルート要素であり、xmlns:toolsからの参照が欠落しているようです

google sunflowerapp の例に従って、制約レイアウトまたは単なるレイアウトとして別のルート要素を使用してみてください。

<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>
11
Tito Rezende