android - 尝试在获取此信息(android.view.InflateException : Binary XML. 。)中为 ListView 的每一行膨胀不同的 View 。

标签 android android-inflate inflate-exception

(如果您需要,我可以提供任何其他信息)

当我尝试为 ListView 中的每一行设置单独的布局时出现此错误。我有一个从 BaseAdapter 扩展的自定义适配器,它实现了 View.OnClickListener()

我只会给出导致错误的getView()函数

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) listContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row = null;
    if(list.get(position).type=="1")
    {
        row = inflater.inflate(R.layout.others, parent,false); //this line causes error 
    }
    else
    {
       row = inflater.inflate(R.layout.others, parent,false);  //same as above so the cause of the error again
    }   

    return row;

}

这是others.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/feed_bg"
    android:orientation="vertical">
    <!--<TextView-->
        <!--android:layout_width="fill_parent"-->
        <!--android:layout_height="fill_parent"-->
        <!--android:text="this is other than than stream"/>-->

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

        android:layout_marginLeft="@dimen/feed_item_margin"
        android:layout_marginRight="@dimen/feed_item_margin"
        android:layout_marginTop="@dimen/feed_item_margin"
        android:background="@drawable/bg_parent_rounded_corner"
        android:orientation="vertical"
        android:paddingBottom="@dimen/feed_item_padding_top_bottom"
        android:paddingTop="@dimen/feed_item_padding_top_bottom" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="@dimen/feed_item_padding_left_right"
            android:paddingRight="@dimen/feed_item_padding_left_right" >

            <ImageView
                android:id="@+id/profilePic"
                android:layout_width="@dimen/feed_item_profile_pic"
                android:layout_height="@dimen/feed_item_profile_pic"
                android:scaleType="fitCenter"
                android:background="@drawable/image_for_profile_pic">
            </ImageView>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="@dimen/feed_item_profile_info_padd" >

                <TextView
                    android:text="Usman Khan"
                    android:id="@+id/name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/feed_item_profile_name"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/timestamp"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textColor="#6f6f6f"
                    android:textSize="@dimen/feed_item_timestamp"
                    android:text="2 days ago"/>
            </LinearLayout>
        </LinearLayout>



        <TextView
            android:text="the intellectual and practical activity encompassing the systematic study of the structure and behaviour of the physical and natural world through observation and experiment."
            android:textColor="#6f6f6f"
            android:id="@+id/txtStatusMsg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:paddingLeft="@dimen/feed_item_status_pad_left_right"
            android:paddingRight="@dimen/feed_item_status_pad_left_right"
            android:paddingTop="@dimen/feed_item_status_pad_top" />
        <ProgressBar
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/progressBar"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:progress="80"


            />

        <!--<TextView-->
        <!--android:id="@+id/txtUrl"-->
        <!--android:layout_width="fill_parent"-->
        <!--android:layout_height="wrap_content"-->
        <!--android:linksClickable="true"-->
        <!--android:paddingBottom="10dp"-->
        <!--android:paddingLeft="@dimen/feed_item_status_pad_left_right"-->
        <!--android:paddingRight="@dimen/feed_item_status_pad_left_right"-->
        <!--android:textColorLink="@color/link" />-->

        <SeekBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/seekBar"
            android:layout_marginLeft="5dp"/>

        <!--<ImageView-->

        <!--android:id="@+id/feedImage1"-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="wrap_content"-->
        <!--android:background="@drawable/pic2"-->
        <!--android:scaleType="fitXY"-->
        <!--android:visibility="visible" />-->



        <LinearLayout
            android:background="#d8d7e1"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_horizontal"
            android:layout_margin="4dp">
            <TextView
                android:text="View all comments.."
                android:id="@+id/viewAllCommentsTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="18dp"
                android:layout_marginLeft="15dp"
                android:textColor="#5d5d5d"
                android:layout_marginBottom="5dp"
                android:clickable="true"/>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingLeft="@dimen/feed_item_padding_left_right"
                android:paddingRight="@dimen/feed_item_padding_left_right"
                android:layout_marginBottom="10dp">

                <ImageView
                    android:id="@+id/comment1pic"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:scaleType="fitCenter"
                    android:background="@drawable/image_for_comment_pic"
                    >
                </ImageView>
                <TextView
                    android:layout_marginLeft="5dp"
                    android:text="bey man come on whats up..... jut give it up already man you kiddingme? ok i will see man"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textColor="#6f6f6f"/>

            </LinearLayout>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingLeft="@dimen/feed_item_padding_left_right"
                android:paddingRight="@dimen/feed_item_padding_left_right"
                android:layout_marginBottom="10dp">

                <ImageView
                    android:id="@+id/comment2pic"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:scaleType="fitCenter"
                    android:background="@drawable/image_for_comment_pic">
                </ImageView>
                <TextView
                    android:textColor="#6f6f6f"
                    android:layout_marginLeft="5dp"
                    android:text="ok so what you are saying that "
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" />

            </LinearLayout>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingLeft="@dimen/feed_item_padding_left_right"
                android:paddingRight="@dimen/feed_item_padding_left_right"
                android:layout_marginBottom="10dp">

                <ImageView
                    android:id="@+id/comment3pic"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:scaleType="fitCenter">
                </ImageView>
                <TextView
                    android:layout_marginLeft="5dp"
                    android:textColor="#6f6f6f"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" />

            </LinearLayout>







        </LinearLayout>

    </LinearLayout>

</LinearLayout>

这是日志:

08-11 17:25:45.878  25051-25051/com.rateker.newratekerwithnevdrawer E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
        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.rateker.newratekerwithnevdrawer.VivzAdapter.getView(Item1Activity.java:218)
        at android.widget.AbsListView.obtainView(AbsListView.java:2207)
        at android.widget.ListView.makeAndAddView(ListView.java:1860)
        at android.widget.ListView.fillDown(ListView.java:687)
        at android.widget.ListView.fillFromTop(ListView.java:748)
        at android.widget.ListView.layoutChildren(ListView.java:1676)
        at android.widget.AbsListView.onLayout(AbsListView.java:2037)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:562)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:985)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:493)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1670)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1528)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1441)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
        at android.view.View.layout(View.java:14099)
        at android.view.ViewGroup.layout(ViewGroup.java:4464)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2183)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1947)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4879)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
        at android.view.Choreographer.doCallbacks(Choreographer.java:579)
        at android.view.Choreographer.doFrame(Choreographer.java:548)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
        at android.os.Handler.handleCallback(Handler.java:725)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:153)
        at android.app.ActivityThread.main(ActivityThread.java:5336)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.constructNative(Native Method)
        at java.lang.reflect.Constructor.newI

最佳答案

如日志中所示,问题出在标签 XML 文件第 2 行:

我换了

android:background="@color/feed_bg"

到,

android:background="#d3d6db"

以及所有引用“@color/”的地方 我不知道为什么会出现这个问题,但我不得不用确切的颜色替换所有颜色,例如“#ffffff”而不是“@color/white”

关于android - 尝试在获取此信息(android.view.InflateException : Binary XML. 。)中为 ListView 的每一行膨胀不同的 View 。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31942083/

相关文章:

Android adb shell删除sqlite数据库

android - 使用 0dp 布局宽度和重量给 child 充气(以编程方式)

Android:二进制 XML 文件行错误膨胀类

android - Firebase Crashlytics 报告 InflateException : ResourceNotFoundException for a Trend TaintArt for 4x6

java - 如何制作可点击的 ListView

android - 如何隐藏mpandroidchart折线图的顶部 `xAxis lables`?

android - 为菜单项设置布局时不调用 OnMenuItemSelected

android - 从非 UI 线程弹出对话框

android - 以编程方式膨胀底部导航 View 菜单

java - 使用 TableLayout,按钮超出边缘