【问题标题】:Binary XML file line #10: Error inflating class二进制 XML 文件第 10 行:膨胀类时出错
【发布时间】:2016-11-02 12:24:24
【问题描述】:

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

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 手机上出现过一次,并且不可重现。有什么想法吗?

【问题讨论】:

  • 我可以安全地假设内存是内存不足崩溃,因为它不可重现并且发生在低端手机上吗?
  • 只是尝试减小图像尺寸和托盘再次它可能会工作......
  • " android:stateListAnimator="@null"" 据我了解,这仅适用于 api 21。因此这将导致较低设备崩溃。删除后运行代码。

标签: android xml dialog


【解决方案1】:

您的代码中有android:background="@drawable/pressed" 行,它在您的代码中重复了5 次。所以你有 2 个选项来解决这个问题。

将pressed.xml 放在你的drawable 文件夹中。 从您的 xml 文件中删除 android:background="@drawable/pressed" 行。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 2014-05-04
      • 1970-01-01
      • 2016-01-12
      • 2020-03-07
      • 2017-10-29
      • 2020-01-15
      • 2011-08-14
      相关资源
      最近更新 更多