Android InflateException для тега <unknown> - PullRequest
0 голосов
/ 17 октября 2011

У меня есть приложение, которое работает на большинстве протестированных нами устройств, но из немногих 20 бета-пользователей 2 из них получают очень странную ошибку:

10-17 08:56:56.840 24805 24846 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #52: Error inflating class <unknown>

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.createView(LayoutInflater.java:513)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:407)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at com.nzn.baixaki.AppsActivity$LoadCategoriesTask.doInBackground(AppsActivity.java:71)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at com.nzn.baixaki.AppsActivity$LoadCategoriesTask.doInBackground(AppsActivity.java:1)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.os.AsyncTask$2.call(AsyncTask.java:185)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    ... 4 more

10-17 08:56:56.840 24805 24846 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.widget.ListView.<init>(ListView.java:153)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at java.lang.reflect.Constructor.constructNative(Native Method)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at java.lang.reflect.Constructor.newInstance(Constructor.java:446)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    at android.view.LayoutInflater.createView(LayoutInflater.java:500)

10-17 08:56:56.840 24805 24846 E AndroidRuntime:    ... 14 more

А вот и XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <!-- LINHA AZUL // -->
    <LinearLayout
        android:background="@drawable/bg_filters"
        android:id="@+id/category_header"
        android:visibility="gone"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:orientation="vertical">
        <!-- LINHA DE CIMA // -->
        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dip"
            android:paddingRight="10dip"
            android:paddingLeft="10dip"
            android:paddingTop="10dip">
            <!-- LABEL 'CATEGORIA' -->
            <TextView
                android:gravity="center_vertical"
                android:layout_height="fill_parent"
                android:layout_width="wrap_content"
                android:textColor="@color/bxkBlue"
                android:text="@string/category_title_call"
                android:textSize="14dip"
                android:layout_marginRight="5dip">
            </TextView>
            <!-- NOME DA CATEGORIA -->
            <TextView
                android:gravity="center_vertical"
                android:layout_height="fill_parent"
                android:layout_width="wrap_content"
                android:textColor="@color/bxkBlue"
                android:text="Nome da categoria"
                android:textSize="14dip"
                android:textStyle="bold"
                android:id="@+id/category_name">
            </TextView>
        </LinearLayout>
        <View
            android:layout_height="1dip"
            android:layout_width="fill_parent"
            android:background="#e5e5e5"/>
    </LinearLayout>
    <ListView
        android:listSelector="@drawable/bg_list_selector"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/apps_list_view"></ListView>
</LinearLayout>

Строка 52 в XML - это ListView внизу. Что может происходить?

Я действительно понятия не имею, как исправить эту ошибку.

EDIT:

После прочтения ссылки у меня все еще нет представления, но эта трассировка стека может помочь:

10-17 09:28:48.919 25897 25983 W System.err: Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

10-17 09:28:48.929 25897 25983 W System.err:    at android.os.Handler.<init>(Handler.java:121)

10-17 09:28:48.929 25897 25983 W System.err:    at android.view.GestureDetector$GestureHandler.<init>(GestureDetector.java:250)

10-17 09:28:48.929 25897 25983 W System.err:    at android.view.GestureDetector.<init>(GestureDetector.java:370)

10-17 09:28:48.929 25897 25983 W System.err:    at android.view.GestureDetector.<init>(GestureDetector.java:347)

10-17 09:28:48.929 25897 25983 W System.err:    at android.view.GestureDetector.<init>(GestureDetector.java:331)

10-17 09:28:48.929 25897 25983 W System.err:    at android.widget.AbsListView.initAbsListView(AbsListView.java:585)

10-17 09:28:48.929 25897 25983 W System.err:    at android.widget.AbsListView.<init>(AbsListView.java:544)

10-17 09:28:48.929 25897 25983 W System.err:    at android.widget.ListView.<init>(ListView.java:157)

10-17 09:28:48.929 25897 25983 W System.err:    ... 18 more

Что меня беспокоит, так это то, что почти весь код "внутренний", а не мой ...

Ответы [ 3 ]

2 голосов
/ 17 октября 2011
0 голосов
/ 29 мая 2015

Чтобы исправить ошибку:

В манифесте:

<application
        android:largeHeap="true"

В файле .xml необходимо удалить приведенный ниже код:

android:src="@drawable..
android:background="@drawable...

Поскольку ошибкаНедостаточно памяти.Это хорошо для меня

0 голосов
/ 17 октября 2011

Я обнаружил проблему, посмотрев на причину.

По сути, я надувал представление в AsyncTask, но делал это на методе doInBackground(), который, очевидно, работает на большинстве устройств., но не все.

Я переместил надувную часть на onPostExecute(), и это устранило проблему.

...