39

アプリケーションを起動しているときに、Logcatで次の警告が表示されます。

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

私のアプリケーションは、次のスプラッシュ画面で始まります。

<?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>

スプラッシュは、スプラッシュ画面に表示される画像です。アプリにドローアブルを保存するための4つのフォルダーがあります。

/ res / drawable-hdpi
/ res / drawable-ldpi
/ res / drawable-mdpi
/ res / drawable-nodpi

スプラッシュ画像は、最初の3つに独自のバージョンがあり、正しく表示されます。ImageViewからsrcプロパティを削除すると、画像は削除されますが、例外は削除されません。

例外の原因を探す場所が少し迷っています。これが本当にこのレイアウトファイルなどの問題であるかどうかさえわかりません。

この警告の原因をどのように見つけますか?

4

7 に答える 7

53

まったく同じエラーが発生しました。意味のある唯一のxml行24は、アプリケーションの終了タグである私のアプリケーションマニフェストでした。アプリに追加したカスタムテーマまでたどり着きました。スタイルの親を定義していませんでした。私がする必要があるのは私のスタイルにparent="android:Theme"を追加することだけで、私のエラーはなくなりました。

<style name="MyTheme" parent="android:Theme">
...
</style>
于 2010-05-30T04:14:50.780 に答える
3

同じ問題が発生しました。これは、アクティビティコンテキストではなくアプリケーションコンテキストを渡したためです。

于 2013-12-04T19:01:45.413 に答える
1
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

その線は景品です。システムは、リソースの1つ、おそらく「src」リソースに満足していませんandroid:src="@drawable/splash"

于 2010-04-09T08:46:39.833 に答える
1

2.0エミュレータで実行すると、同様のエラーが発生しました。新しいバージョンのAPI(バージョン7、2.1-update1)を使用しましたが、機能しました。

于 2011-05-02T16:51:51.303 に答える
0

エラーはXMLファイルの24行目にあります。その行には何が含まれていますか?エラーメッセージの外観によって

android.view.InflateException: Binary XML file line #24: Error inflating class <unknown>

カスタムクラスを使用していて、何かを適切に定義していません。たとえば、パッケージ名を適切に定義しましたか?たぶん、そのコンストラクターはフォーマットされていませんか?より多くの情報を提供できるようにするには、XMLファイル、特に24行目あたりの内容を確認する必要があります。

于 2010-04-09T10:45:10.473 に答える
0

私はこれが少し遅いことを知っていますが、私はこれを理解しようと一日中過ごしました、そして最後にこのSOの質問の助けを借りて、私が試していた例のXMLファイルが後のAPIの機能を使用していてLintがなかったことに気づきましたファイルが変更されていないため、キャッチしません。XMLファイルをランダムに編集してファイルを保存するとすぐに、後のAPIに関するエラーが表示されました。

于 2014-09-11T22:00:44.553 に答える
0

答えを見つけるために非常に多くの多忙な調査を行った後、なぜアプリがクラッシュし、なぜログキャットが表示されないのか

これを交換しました

android:configChanges="orientation|keyboardHidden"

android:configChanges="keyboardHidden|orientation|screenSize"

アクティビティタグ内。

于 2017-11-03T06:47:51.143 に答える