Android drawable查找问题

时间:2014-11-03 15:38:26

标签: android drawable android-resources android-drawable

我在Android应用中遇到了奇怪的行为。我有一个可绘制的walkthrough_safe.png,并且在drawable-mdpidrawable-hdpidrawable-xhdpi个文件夹中有一个版本。

我在分析中看到这种崩溃

{main} android.view.InflateException: Binary XML file line #7: 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.rInflate(LayoutInflater.java:746) at
android.view.LayoutInflater.inflate(LayoutInflater.java:489) at
android.view.LayoutInflater.inflate(LayoutInflater.java:396) at
com.a.b.activity.WalkThroughLoginActivity$WalkthroughFragment.onCreateView(WalkThroughLoginA
ctivity.java:247) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504) 
at android.support.v4.app.y.a(FragmentManager.java:942) at 
android.support.v4.app.y.a(FragmentManager.java:1121) at 
android.support.v4.app.l.run(BackStackRecord.java:682) at 
android.support.v4.app.y.d(FragmentManager.java:1484) at 
android.support.v4.app.y.b(FragmentManager.java:482) at 
android.support.v4.app.ad.finishUpdate(FragmentPagerAdapter.java:141) at 
android.support.v4.view.ViewPager.a(ViewPager.java:1073) at 
android.support.v4.view.ViewPager.b(ViewPager.java:919) at 
android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441) at 
android.view.View.measure(View.java:15264) at 
android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617) at 
android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4916) at 
android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4916) at 
android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at 
android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at 
android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4916) at 
android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4916) at 
android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at 
android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at 
android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4916) at 
android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at 
com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2339) at 
android.view.View.measure(View.java:15264) at 
android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2131) at 
android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1242) at 
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1435) at 
android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1127) at 
android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4606) at 
android.view.Choreographer$CallbackRecord.run(Choreographer.java:747) at 
android.view.Choreographer.doCallbacks(Choreographer.java:567) at 
android.view.Choreographer.doFrame(Choreographer.java:536) at 
android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:733) at 
android.os.Handler.handleCallback(Handler.java:615) at 
android.os.Handler.dispatchMessage(Handler.java:92) at 
android.os.Looper.loop(Looper.java:153) at 
android.app.ActivityThread.main(ActivityThread.java:5006) 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:821) at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 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.newInstance(Constructor.java:417) at 
android.view.LayoutInflater.createView(LayoutInflater.java:587) ... 59 more Caused by: 
android.content.res.Resources$NotFoundException: File res/drawable-mdpi-
v4/walkthrough_safe.png from drawable resource ID #0x7f02015c at 
android.content.res.Resources.loadDrawable(Resources.java:2054) at 
android.content.res.TypedArray.getDrawable(TypedArray.java:601) at android.widget.ImageView.
<init>(ImageView.java:120) at android.widget.ImageView.<init>(ImageView.java:110) ... 62 
more Caused by: java.io.FileNotFoundException: res/drawable-mdpi-v4/walkthrough_safe.png at 
android.content.res.AssetManager.openNonAssetNative(Native Method) at 
android.content.res.AssetManager.openNonAsset(AssetManager.java:410) at 
android.content.res.Resources.loadDrawable(Resources.java:2046) ... 65 more

WalkThroughLoginActivity.java:247行中我有这个:

inflater.inflate(R.layout.fragment_login_walkthrough_2,
                        container, false);

这是fragment_login_walkthrough_2.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:orientation="vertical" >

    <ImageView
        style="@style/icon_walkthrough"
        android:src="@drawable/walkthrough_safe" />

    <TextView
        style="@style/title_walkthrough"
        android:layout_marginTop="@dimen/margin_walktrough_title"
        android:text="@string/walkthrough2_title" />

    <TextView
        style="@style/text_walkthrough"
        android:text="@string/walkthrough2_subtitle"/>

</LinearLayout>

请正确,如果我错了,但在我看来,android正在查找我在错误的文件夹(drawable-mdpi-v4)中的drawable,这个obvioulsy不存在。不仅如此,在找不到之后,它还没有回到更通用的文件夹,例如我们drawable-mdpi

我错过了什么吗?

0 个答案:

没有答案