Domanda

Mentre iniziare la mia applicazione ottengo il seguente avviso in 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

La mia domanda inizia con la seguente schermata iniziale:

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

Splash è l'immagine che viene mostrata nella schermata iniziale. Ho quei quattro cartelle per la memorizzazione con drawable nella mia app:

/ res / drawable-hdpi
/ Res / drawable-ldpi
/ Res / drawable-MDPI
/ Res / drawable-nodpi

l'immagine della spruzzata ha la sua versione nel primi tre di loro e viene visualizzato correttamente. Rimozione della proprietà src dalla ImageView rimuove l'immagine, ma non l'eccezione.

io sono un po 'perso con dove cercare la causa dell'eccezione. Ho anche non so se questo è davvero un problema in questo file di layout, ecc

Come si fa a trovare la causa di questo avviso?

È stato utile?

Soluzione

Ho avuto lo stesso errore esatto. L'unica linea xml 24 che avesse un senso era il mio manifesto dell'applicazione che per caso il tag di chiusura per l'applicazione. Ho rintracciato verso il basso per il mio tema personalizzato stavo aggiungendo per l'applicazione - non ero che definiscono il genitore dello stile. Tutto quello che dovevo fare era genitore add = "android: Tema" per il mio stile e il mio errore è andato via

.
<style name="MyTheme" parent="android:Theme">
...
</style>

Altri suggerimenti

Ho avuto lo stesso problema, ed è stato perché ho passato il contesto dell'applicazione invece del contesto di attività.

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

Questa linea è il giveaway. Il sistema non è felice con una delle tue risorse, probabilmente una risorsa 'src', probabilmente android:src="@drawable/splash".

ho ottenuto un errore simile quando viene eseguito su un emulatore 2.0. Ho usato una versione più recente delle API (versione 7, 2.1-update1) e ha funzionato.

L'errore è sulla linea 24 del file XML. Qual'è il suo contengono? A quanto pare il messaggio di errore

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

si sta utilizzando una classe personalizzata e non è stata definita correttamente qualcosa. Ad esempio, lo si definisce il nome del pacchetto in modo corretto? Forse suo costruttore non è formattata? Dovremmo vedere il file XML, in particolare quello che c'è intorno alla linea 24, per essere in grado di dare più informazioni.

So che questo è un po 'tardi, ma ho passato tutto il giorno cercando di capire questo fuori e, infine, con l'aiuto di questa domanda SO ho capito un file XML nell'esempio che stavo provando stava usando una caratteristica da un'API più tardi e Lint non è stata la cattura, perché il file non era cambiato. Appena ho fatto una modifica a caso sul file XML e salvato il file quindi l'errore di un'API tardi si presentò.

Dopo tante ricerche frenetica per trovare la risposta che il motivo per cui App si blocca e perché la sua non mostra la logcat

Ho appena sostituito questo

android:configChanges="orientation|keyboardHidden"

a

android:configChanges="keyboardHidden|orientation|screenSize"

nel tag attività.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top