我遇到了与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手机上发生过一次,不可再现。有什么想法吗?
答案 0 :(得分:0)
我认为您的可绘制文件中包含图像(drawable-v24),只需将其删除,然后将其添加为drawable而不是drawable-v24
答案 1 :(得分:0)
您的代码中有第android:background="@drawable/pressed"
行,在您的代码中重复了5次。因此,您有2个解决方案。
在您的可绘制文件夹中放置Pressed.xml。
从您的xml文件中删除android:background="@drawable/pressed"
行。