在某些设备中出现错误“android.view.InflateException:

我有一个Issue: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class <unknown>在某些设备上。

它在 Adapter 中膨胀时发生RecyclerView(从日志中发现)。

崩溃发生在以下设备中。

  • 活着v5

  • 2017年K3

  • 摩托 G4 玩

  • OPPO F4

编辑 -所有崩溃的设备都有 android 6

以下设备不会发生崩溃。

  • 一加5t

  • 盖乐世 S9

  • Xperia XZ1 Compact

AdapterAnimationPicker.java

@Override

    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        context = parent.getContext();


        // error happening below line

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_animation_picker,parent,false);

        mFirebaseAnalytics = FirebaseAnalytics.getInstance(context);

        return new ViewHolder(v);

    }

card_animation_picker.xml


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:clipToPadding="false"

    android:background="@drawable/rounded_corner_card_primary">


    <LinearLayout

        android:layout_height="wrap_content"

        android:layout_width="match_parent">

        <androidx.constraintlayout.widget.ConstraintLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content">

            <FrameLayout

                android:id="@+id/card_anim_picker_framelayout"

                android:background="@drawable/rounded_corner_card_primary"

                android:layout_width="0dp"

                android:layout_height="0dp"

                app:layout_constraintDimensionRatio="H,16:9"

                app:layout_constraintEnd_toEndOf="parent"

                app:layout_constraintStart_toStartOf="parent"

                app:layout_constraintTop_toTopOf="parent">

                <com.airbnb.lottie.LottieAnimationView

                    android:id="@+id/card_anim_picker_animation_view"

                    android:layout_width="match_parent"



哆啦的时光机
浏览 173回答 2
2回答

神不在的星期二

尝试这个 :在 drawable 中使用 png 文件,而不是在 drwable-24 中,而是在 xxhdpi 中粘贴一件事,然后在所有设备中进行测试。当然,它适用于所有设备。如果它不是仅图像形状的东西,请在您的问题中分享该 xml。快乐编码:)

翻翻过去那场雪

android:background="@drawable/rounded_corner_card_primary"可能这就是问题所在。如果这是一个 SVG 文件,并且您在该文件中使用Offset属性,它会在 marshmallow 中崩溃。所以最好为棉花糖设备制作一个单独的文件并使用 png 文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java