Skip to content

[Lists] Failed to instanciate ListItemCardView exception #4973

@charmins

Description

@charmins

Description: Hi, when I add a ListItemCardView to my layout, the layout editor reported an exception, but it doesn't seem to affect the display.

Image

Here is the stack:

java.lang.ClassCastException: class com.android.resources.base.BasicFileResourceItem cannot be cast to class com.android.ide.common.rendering.api.StyleResourceValue (com.android.resources.base.BasicFileResourceItem and com.android.ide.common.rendering.api.StyleResourceValue are in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @49842796)
at android.content.res.Resources_Theme_Delegate.resolveStyle(Resources_Theme_Delegate.java:144)
at android.content.res.Resources_Theme_Delegate.setupResources(Resources_Theme_Delegate.java:120)
at android.content.res.Resources_Theme_Delegate.obtainStyledAttributes(Resources_Theme_Delegate.java:57)
at android.content.res.Resources$Theme.obtainStyledAttributes(Resources.java:1634)
at android.content.Context.obtainStyledAttributes(Context.java:1138)
at com.google.android.material.shape.ShapeAppearanceModel.builder(ShapeAppearanceModel.java:568)
at com.google.android.material.shape.ShapeAppearanceModel.builder(ShapeAppearanceModel.java:533)
at com.google.android.material.shape.ShapeAppearanceModel.builder(ShapeAppearanceModel.java:515)
at com.google.android.material.shape.ShapeAppearanceModel.builder(ShapeAppearanceModel.java:505)
at com.google.android.material.shape.MaterialShapeDrawable.(MaterialShapeDrawable.java:258)
at com.google.android.material.card.MaterialCardViewHelper.(MaterialCardViewHelper.java:153)
at com.google.android.material.card.MaterialCardView.(MaterialCardView.java:180)
at com.google.android.material.listitem.ListItemCardView.(ListItemCardView.java:43)
at com.google.android.material.listitem.ListItemCardView.(ListItemCardView.java:39)
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.android.tools.rendering.ViewLoader.createNewInstance(ViewLoader.java:311)
at com.android.tools.rendering.ViewLoader.loadClass(ViewLoader.java:174)
at com.android.tools.rendering.ViewLoader.loadView(ViewLoader.java:127)
at com.android.tools.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:277)
at com.android.tools.rendering.LayoutlibCallbackExDelegate.loadView(LayoutlibCallbackExDelegate.kt:65)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:427)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:438)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:343)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:850)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1012)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:986)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:973)
at android.view.LayoutInflater.inflate(LayoutInflater.java:571)
at android.view.LayoutInflater.inflate(LayoutInflater.java:433)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:355)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:462)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:125)
at com.android.tools.rendering.RenderTask.createRenderSession(RenderTask.java:794)
at com.android.tools.rendering.RenderTask.lambda$inflate$7(RenderTask.java:942)
at com.android.tools.rendering.RenderExecutor.runAsyncActionWithTimeout$lambda$12(RenderExecutor.kt:217)
at com.android.tools.rendering.RenderExecutor$PriorityRunnable.run(RenderExecutor.kt:338)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Source code:

<?xml version="1.0" encoding="utf-8"?>`
    <com.google.android.material.listitem.ListItemLayout
    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:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.google.android.material.listitem.ListItemCardView
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:checkable="true"
        android:clickable="true"
        android:duplicateParentState="true"
        android:focusable="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:paddingHorizontal="16dp"
            android:paddingVertical="8dp"
            android:gravity="center_vertical">

            <com.google.android.material.imageview.ShapeableImageView
                android:id="@+id/iv_avatar"
                android:layout_width="40dp"
                android:layout_height="40dp"
                app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Full"
                app:strokeColor="@color/outline_opacity_16"
                app:strokeWidth="1dp"
                tools:srcCompat="@tools:sample/avatars" />

            <TextView
                android:id="@+id/tv_headline"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginHorizontal="16dp"
                android:layout_weight="1"
                android:ellipsize="end"
                android:maxLines="1"
                android:textAppearance="@style/TextAppearance.Material3.BodyLarge"
                android:textColor="?attr/colorOnSurface"
                tools:text="Headline" />

            <TextView
                android:id="@+id/tv_level"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="@style/TextAppearance.Material3.LabelSmall"
                android:textColor="?attr/colorOnSurfaceVariant"
                android:maxLines="1"
                tools:text="12" />
        </LinearLayout>
        </com.google.android.material.listitem.ListItemCardView>
    </com.google.android.material.listitem.ListItemLayout>

Android API version: 36

Material Library version: 1.14.0-alpha06

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions