首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓:如何追踪InflateException的来源?

安卓:如何追踪InflateException的来源?
EN

Stack Overflow用户
提问于 2010-04-09 16:34:52
回答 7查看 54.3K关注 0票数 39

在启动我的应用程序时,我在Logcat中收到以下警告:

代码语言:javascript
复制
04-09 10:28:17.830: WARN/WindowManager(52): Exception when adding starting window
04-09 10:28:17.830: WARN/WindowManager(52): android.view.InflateException: Binary XML file line #24: Error inflating class <unknown>
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.createView(LayoutInflater.java:513)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2153)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2207)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1395)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:818)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.server.WindowManagerService$H.handleMessage(WindowManagerService.java:8794)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.os.Looper.loop(Looper.java:123)
04-09 10:28:17.830: WARN/WindowManager(52):     at com.android.server.WindowManagerService$WMThread.run(WindowManagerService.java:531)
04-09 10:28:17.830: WARN/WindowManager(52): Caused by: java.lang.reflect.InvocationTargetException
04-09 10:28:17.830: WARN/WindowManager(52):     at android.widget.FrameLayout.<init>(FrameLayout.java:79)
04-09 10:28:17.830: WARN/WindowManager(52):     at java.lang.reflect.Constructor.constructNative(Native Method)
04-09 10:28:17.830: WARN/WindowManager(52):     at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.view.LayoutInflater.createView(LayoutInflater.java:500)
04-09 10:28:17.830: WARN/WindowManager(52):     ... 13 more
04-09 10:28:17.830: WARN/WindowManager(52): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x1010059 a=-1}
04-09 10:28:17.830: WARN/WindowManager(52):     at android.content.res.Resources.loadDrawable(Resources.java:1677)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
04-09 10:28:17.830: WARN/WindowManager(52):     at android.widget.FrameLayout.<init>(FrameLayout.java:91)
04-09 10:28:17.830: WARN/WindowManager(52):     ... 17 more

我的应用程序启动时会出现以下闪屏:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:windowBackground="@color/white" android:background="@color/white"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:foregroundGravity="center">

    <ImageView android:id="@+id/ImageView01"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:adjustViewBounds="true" android:scaleType="centerInside"
        android:src="@drawable/splash" android:layout_gravity="center" />


</ScrollView>

启动画面是显示在启动画面中的图像。我在我的应用程序中有四个文件夹,用来存储可绘制的内容:

/res/drawable-hdpi

/res/drawable-ldpi

/res/drawable-mdpi

/res/drawable-nodpi

开机画面在前三个版本中有自己的版本,并且可以正确显示。从ImageView中删除src属性将删除图像,但不会删除异常。

我有点迷路了,不知道去哪里找异常的原因。我甚至不知道这是否真的是这个布局文件中的问题。

您将如何找到导致此警告的原因?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-05-30 12:14:51

我也犯了同样的错误。唯一有意义的xml第24行是我的应用程序清单,它恰好是应用程序的结束标记。我将其追溯到我为应用程序添加的自定义主题--我并没有定义样式的父元素。我所需要做的就是在我的风格中添加parent="android:Theme“,然后我的错误就消失了。

代码语言:javascript
复制
<style name="MyTheme" parent="android:Theme">
...
</style>
票数 53
EN

Stack Overflow用户

发布于 2013-12-05 03:01:45

我遇到了同样的问题,这是因为我传递的是应用程序上下文,而不是活动上下文。

票数 3
EN

Stack Overflow用户

发布于 2010-04-09 16:46:40

代码语言:javascript
复制
04-09 10:28:17.830: WARN/WindowManager(52): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x1010059 a=-1

这句话就是道听途说。系统对您的某个资源不满意,可能是'src‘资源,可能是android:src="@drawable/splash"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2605999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档