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

时间:2016-06-30 12:03:13

标签: android xml dialog

我遇到了与XML通胀相关的崩溃,但堆栈跟踪并没有指出任何特殊原因。 当我试图显示对话框时发生崩溃。它可以与我设置为背景的可绘制资源有什么关系吗?图像是9补丁。

logcat的:

E/AndroidRuntime(15849): FATAL EXCEPTION: main
E/AndroidRuntime(15849): android.view.InflateException: Binary XML file line #10: Error inflating class <unknown>
E/AndroidRuntime(15849):    at android.view.LayoutInflater.createView(LayoutInflater.java:619)
E/AndroidRuntime(15849):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
E/AndroidRuntime(15849):    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
E/AndroidRuntime(15849):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:318)
E/AndroidRuntime(15849):    at android.app.Dialog.setContentView(Dialog.java:493)
E/AndroidRuntime(15849):    at com.exampleapp.app.views.ProgressiveHelperUIHandler.build(ProgressiveHelperUIHandler.java:66)
E/AndroidRuntime(15849):    at com.exampleapp.app.activities.postscreen.PostsFragment.generateProgressiveHelper(PostsFragment.java:354)
E/AndroidRuntime(15849):    at com.exampleapp.app.activities.postscreen.PostsFragment$6.onScrollStateChanged(PostsFragment.java:286)
E/AndroidRuntime(15849):    at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:823)
E/AndroidRuntime(15849):    at android.support.v7.widget.RecyclerView.access$3100(RecyclerView.java:87)
E/AndroidRuntime(15849):    at android.support.v7.widget.RecyclerView$ViewFlinger.fling(RecyclerView.java:2914)
E/AndroidRuntime(15849):    at android.support.v7.widget.RecyclerView.fling(RecyclerView.java:1209)
E/AndroidRuntime(15849):    at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:1703)
E/AndroidRuntime(15849):    at android.view.View.dispatchTouchEvent(View.java:7393)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2462)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2195)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
E/AndroidRuntime(15849):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
E/AndroidRuntime(15849):    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2177)
E/AndroidRuntime(15849):    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1482)
E/AndroidRuntime(15849):    at android.app.Activity.dispatchTouchEvent(Activity.java:2470)
E/AndroidRuntime(15849):    at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59)
E/AndroidRuntime(15849):    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2125)
E/AndroidRuntime(15849):    at android.view.View.dispatchPointerEvent(View.java:7578)
E/AndroidRuntime(15849):    ... 24 more

排队它崩溃: dialog.setContentView(R.layout.generic_progressive_helper);

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="@color/transparent"
    android:layout_width="match_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:layout_height="100dp">

    <View
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:id="@+id/outer_layout"
        android:stateListAnimator="@null"
        android:padding="0dp"
        android:background="@drawable/progressive_center"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/text_black_shade_3"
            android:gravity="center"
            android:visibility="gone"
            android:layout_gravity="center"
            android:textSize="16sp"
            android:id="@+id/title"
            android:layout_marginBottom="10dp"
            android:text="Enter your location to groups near you!"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:textSize="15sp"
        android:textStyle="bold"
        android:id="@+id/got_it"
        android:layout_marginRight="25dp"
        android:layout_marginBottom="25dp"
        android:textColor="@color/white"
        android:text="GOT IT"/>

</FrameLayout>

我对崩溃的原因感到困惑。它在Android 4.1手机上发生过一次,不可再现。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为您的可绘制文件中包含图像(drawable-v24),只需将其删除,然后将其添加为drawable而不是drawable-v24

答案 1 :(得分:0)

您的代码中有第android:background="@drawable/pressed"行,在您的代码中重复了5次。因此,您有2个解决方案。

在您的可绘制文件夹中放置Pressed.xml。 从您的xml文件中删除android:background="@drawable/pressed"行。