Baserecyclerviewadapterhelper: 在4.2手机上直接报错 在5.0以上的系统就没事

Created on 25 Oct 2016  ·  15Comments  ·  Source: CymChad/BaseRecyclerViewAdapterHelper

10-25 13:31:59.737 9134-9134/com.esint.tjjw E/AndroidRuntime: FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #2: Error inflating class
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at com.chad.library.adapter.base.BaseQuickAdapter.getItemView(BaseQuickAdapter.java:923)
at com.chad.library.adapter.base.BaseQuickAdapter.createBaseViewHolder(BaseQuickAdapter.java:622)
at com.chad.library.adapter.base.BaseMultiItemQuickAdapter.onCreateDefViewHolder(BaseMultiItemQuickAdapter.java:48)
at com.chad.library.adapter.base.BaseQuickAdapter.onCreateViewHolder(BaseQuickAdapter.java:493)
at com.chad.library.adapter.base.BaseQuickAdapter.onCreateViewHolder(BaseQuickAdapter.java:56)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5836)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5060)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4970)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3315)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:2843)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:717)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
at android.view.View.measure(View.java:15807)
at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1228)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.widget.ScrollView.onMeasure(ScrollView.java:321)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:717)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15807)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:869)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:717)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:607)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4959)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15807)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:495


    1. 1.

Most helpful comment

@wotoutengleha 我怀疑也是跟你一样item错了,但是我没办法定位在哪?

All 15 comments

这是解析xml出错,把你的xml代码贴一下


xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:rv="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<include layout="@layout/layout_top"/>

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <com.youth.banner.Banner
            android:id="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="180dp"
            app:delay_time="3000"
            app:indicator_drawable_selected="@drawable/selected_radius"
            app:indicator_drawable_unselected="@drawable/unselected_radius"
            app:indicator_height="8dp"
            app:indicator_margin="3dp"
            app:indicator_width="8dp"
            app:is_auto_play="true"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:paddingLeft="10dp"
            android:paddingRight="10dp">

            <com.flyco.roundview.RoundTextView
                android:id="@+id/tv_one"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="end"
                android:gravity="center"
                android:padding="10dp"
                android:text="交通要闻"
                android:textColor="#fff"
                android:textSize="16sp"
                rv:rv_backgroundColor="#77D349"
                rv:rv_cornerRadius="3dp"/>

            <com.flyco.roundview.RoundTextView
                android:id="@+id/tv_two"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_weight="1"
                android:gravity="center"
                android:padding="10dp"
                android:text="人员介绍"
                android:textColor="#fff"
                android:textSize="16sp"
                rv:rv_backgroundColor="#4A9EFF"
                rv:rv_cornerRadius="3dp"/>

            <com.flyco.roundview.RoundTextView
                android:id="@+id/tv_three"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="10dp"
                android:layout_weight="1"
                android:gravity="center"
                android:padding="10dp"
                android:text="人员考录"
                android:textColor="#fff"
                android:textSize="16sp"
                rv:rv_backgroundColor="#39D0AE"
                rv:rv_cornerRadius="3dp"/>
        </LinearLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycle_home"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </android.support.v7.widget.RecyclerView>

    </LinearLayout>
</ScrollView>

我刚才试了一下 不给recycleView设置Adapter就不会出错

你的使用版本是?

2.4.2最新版本

你的item xml是?

从你的crash来看是item加载xml出现的问题,你可以试试,把item.xml改改里面的内容看看,是不是你的布局问题。

你好,我用的是2.4.2最新版本

------------------ 原始邮件 ------------------
发件人: "陈宇明";[email protected];
发送时间: 2016年10月25日(星期二) 下午3:19
收件人: "CymChad/BaseRecyclerViewAdapterHelper"[email protected];
抄送: "977391947"[email protected]; "Author"[email protected];
主题: Re: [CymChad/BaseRecyclerViewAdapterHelper] 在4.2手机上直接报错 在5.0以上的系统就没事 (#441)

你的使用版本是?


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

谢谢你 确实是item出错了 十分感谢

恩,感谢你的使用。

@wotoutengleha 请问以下item哪里出错了?

@wotoutengleha 我项目中没用到BRVAH,但是就是Bug上面遇到的都是5.0以下会爆这个错。

@wotoutengleha 我怀疑也是跟你一样item错了,但是我没办法定位在哪?

@CymChad @wotoutengleha
Hello,
我使用的BRVAH 版本为 1.9.7,
报的错误:
android.view.InflateException: Binary XML file line #62: Error inflating class
at android.view.LayoutInflater.createView(LayoutInflater.java:652)

对应出错的item布局 xml文件内容如下 :


android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/len_24"
android:layout_marginRight="@dimen/len_24"
android:layout_marginTop="@dimen/statusBarSize"
android:foreground="?android:attr/selectableItemBackground">

<LinearLayout
    android:id="@+id/ll_record"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@null"
    android:orientation="vertical">

    <!--RelativeLayout-->
    <!--android:background="@drawable/ry_item_group_red"-->

    <android.support.v7.widget.CardView
        android:id="@+id/record_head"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardCornerRadius="4dp"
        android:background="@color/primaryColor"
        android:paddingBottom="@dimen/len_8"
        android:paddingLeft="@dimen/len_8"
        android:paddingStart="@dimen/len_8"
        android:paddingTop="@dimen/len_8">

        <TextView
            android:id="@+id/tv_measureMentMode"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|start"
            android:layout_marginRight="@dimen/len_2"
            android:gravity="center_horizontal"
            android:text="主动模式(mg/ml)"
            android:textAppearance="@style/TextAppearance.AppCompat.Title"
            android:textSize="@dimen/len_20"
            android:textStyle="normal" />

        <TextView
            android:id="@+id/tv_measurement_content"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_gravity="center_vertical|end"
            android:layout_marginEnd="@dimen/len_20"
            android:layout_marginRight="@dimen/len_20"
            android:gravity="center_vertical|end"
            android:text="85"
            android:textAppearance="@style/TextAppearance.AppCompat.Title"
            android:textSize="@dimen/font_24"
            android:textStyle="bold" />
    </android.support.v7.widget.CardView>

    <LinearLayout
        android:id="@+id/record_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/ry_item_child_red"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_device_num_record"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="仪器号"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_device_num_record_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="112dp"
                android:text="仪器号值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textColor="@color/green_300"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_record_num"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="记录号"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_record_num_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="112dp"
                android:text="123456"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textColor="@color/green_300"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_record_time"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="测量时间"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_record_time_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="98dp"
                android:gravity="center"
                android:text="测量时间值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textColor="@color/green_300"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_record_upload_time"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="上传时间"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_record_upload_time_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="98dp"
                android:gravity="center"
                android:text="上传时间值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textColor="@color/green_300"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_police_num"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="警号"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_police_num_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="126dp"
                android:text="警号值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_car_num"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="车牌"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_car_num_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="126dp"
                android:text="车牌值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textColor="@color/green_300"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_id_num"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="驾驶证"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_id_num_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="112dp"
                android:text="驾驶证值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_editor"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="被测人"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_editor_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="112dp"
                android:text="被测人值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textSize="@dimen/font_16" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="@dimen/len_2">

            <TextView
                android:id="@+id/tv_address"
                style="@style/tweetText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|start"
                android:layout_marginLeft="@dimen/len_8"
                android:gravity="center_vertical"
                android:text="地址"
                android:textColor="@color/secondaryColor"
                android:textSize="@dimen/font_14" />

            <TextView
                android:id="@+id/tv_address_content"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="126dp"
                android:text="地址值"
                android:textAppearance="@style/TextAppearance.AppCompat.Title"
                android:textSize="@dimen/font_16" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

您们提到的Item 初始化控件错误是指??

问题解决了,还是布局文件的问题
半个月后的我回来回复,主要是我之前的AS的界面Drawable资源是对应的API24的,低版本的没有对应到,所以低版本的手机就出现初始化界面资源失败,泪泪目

Was this page helpful?
0 / 5 - 0 ratings