Pergunta

Ao iniciar meu aplicativo, recebo o seguinte aviso no 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

Meu aplicativo começa com a seguinte tela Splash:

<?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 é a imagem que é mostrada na tela Splash. Eu tenho essas quatro pastas para armazenar desenhos no meu aplicativo:

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

A imagem Splash tem sua própria versão nos três primeiros e é exibida corretamente. A remoção da propriedade SRC do ImageView remove a imagem, mas não a exceção.

Estou um pouco perdido com onde procurar a causa da exceção. Eu nem sei se isso é realmente um problema neste arquivo de layout etc.

Como você encontraria a causa desse aviso?

Foi útil?

Solução

Eu tive o mesmo erro exato. A única linha XML 24 que fazia algum sentido foi o manifesto do meu aplicativo, que era a tag de fechamento para aplicação. Eu o rastreei até o meu tema personalizado que eu estava adicionando para o aplicativo - eu não estava definindo o pai do estilo. Tudo o que eu precisava fazer era adicionar pai = "Android: tema" ao meu estilo e meu erro desapareceu.

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

Outras dicas

Eu tive o mesmo problema, e foi porque passei no contexto do aplicativo em vez do contexto da atividade.

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

Essa linha é a oferta. O sistema não está feliz com um de seus recursos, provavelmente um recurso 'src', provavelmente android:src="@drawable/splash".

Recebi um erro semelhante ao executar em um emulador 2.0. Usei uma versão mais recente da API (versão 7, 2.1-upDate1) e funcionou.

O erro está na linha 24 do seu arquivo XML. O que essa linha contém? Pela aparência da mensagem de erro

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

Você está usando uma classe personalizada e não definiu algo corretamente. Por exemplo, você definiu o nome do pacote corretamente? Talvez seu construtor não seja formatado? Teríamos que ver o arquivo XML, especificamente o que há na linha 24, para poder fornecer mais informações.

Eu sei que isso é um pouco tarde, mas passei o dia todo tentando descobrir este e finalmente com a ajuda de isto Então, a pergunta percebi que um arquivo XML no exemplo que eu estava experimentando estava usando um recurso de uma API posterior e fiapos não estava pegando porque o arquivo não havia alterado. Assim que fiz uma edição aleatória no arquivo XML e salvei o arquivo, o erro em torno de uma API posterior apareceu.

Depois de tantas pesquisas agitadas para encontrar a resposta que o aplicativo está travando e por que não está mostrando o logcat

Acabei de substituir isso

android:configChanges="orientation|keyboardHidden"

para

android:configChanges="keyboardHidden|orientation|screenSize"

na tag de atividade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top