【问题标题】:"Error inflating class" upon returning to application返回应用程序时出现“错误膨胀类”
【发布时间】:2012-09-18 11:29:18
【问题描述】:

我的 android 应用中有一个显示信息的活动,其中包括网站的 URL 链接。我可以毫无问题地打开它,但是当我单击返回按钮时,我收到“不幸的是应用程序已停止工作”消息,并且 logcat 给了我这个:

09-25 23:21:58.847: E/AndroidRuntime(3534): java.lang.RuntimeException:无法恢复活动 {com.example.salefinder/com.example.salefinder.Sale}: android.view.InflateException:二进制 XML 文件第 118 行:错误 膨胀类

关于如何解决这个问题的任何想法?

编辑:

这是整个错误堆栈:

09-25 23:50:32.367:E/AndroidRuntime(3573):致命异常:主要 09-25 23:50:32.367: E/AndroidRuntime(3573): java.lang.RuntimeException:无法恢复活动 {com.example.salefinder/com.example.salefinder.Sale}: android.view.InflateException:二进制 XML 文件第 118 行:错误 膨胀类 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2444) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1173) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.os.Handler.dispatchMessage(Handler.java:99) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.os.Looper.loop(Looper.java:137) 09-25 23:50:32.367: E/AndroidRuntime(3573):在 android.app.ActivityThread.main(ActivityThread.java:4424) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 java.lang.reflect.Method.invokeNative(Native Method) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 java.lang.reflect.Method.invoke(Method.java:511) 09-25 23:50:32.367: E/AndroidRuntime(3573):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 dalvik.system.NativeStart.main(本机方法)09-25 23:50:32.367: E/AndroidRuntime(3573):引起:android.view.InflateException: 二进制 XML 文件第 118 行:膨胀类 09-25 时出错 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.createView(LayoutInflater.java:606) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.rInflate(LayoutInflater.java:742) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.inflate(LayoutInflater.java:489) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.inflate(LayoutInflater.java:396) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.inflate(LayoutInflater.java:352) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.app.Activity.setContentView(Activity.java:1835) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.example.salefinder.Sale.saleCreate(Sale.java:71) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.example.salefinder.Sale.onRestart(Sale.java:67) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.app.Instrumentation.callActivityOnRestart(Instrumentation.java:1143) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 android.app.Activity.performRestart(Activity.java:4520) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.app.Activity.performResume(Activity.java:4531) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2434) 09-25 23:50:32.367: E/AndroidRuntime(3573): ... 10 更多 09-25 23:50:32.367:E/AndroidRuntime(3573):由以下原因引起: java.lang.reflect.InvocationTargetException 09-25 23:50:32.367: E/AndroidRuntime(3573):在 java.lang.reflect.Constructor.constructNative(Native Method) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 java.lang.reflect.Constructor.newInstance(Constructor.java:417) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 android.view.LayoutInflater.createView(LayoutInflater.java:586) 09-25 23:50:32.367: E/AndroidRuntime(3573): ... 24 更多 09-25 23:50:32.367: E/AndroidRuntime(3573):引起:java.lang.IllegalStateException: MapActivity 中只允许有一个 MapView 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.google.android.maps.MapActivity.setupMapView(MapActivity.java:397) 09-25 23:50:32.367: E/AndroidRuntime(3573): 在 com.google.android.maps.MapView.(MapView.java:289) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.google.android.maps.MapView.(MapView.java:264) 09-25 23:50:32.367:E/AndroidRuntime(3573):在 com.google.android.maps.MapView.(MapView.java:247) 09-25 23:50:32.367: E/AndroidRuntime(3573): ... 27 更多

编辑 2: 在第 71 行我有

setContentView(R.layout.activity_sale);

这是activity_sale.xml:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/kontejner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#1d7080"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="58dp"
            android:paddingBottom="5dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="5dp"
            android:src="@drawable/header" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="3dp"
            android:background="@color/border"
            android:orientation="horizontal" />

        <LinearLayout
            android:id="@+id/top"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/blue"
            android:weightSum="1" >

            <ImageView
                android:id="@+id/logo"
                android:layout_width="0dp"
                android:layout_height="58dp"
                android:layout_weight="0.25"
                android:paddingBottom="5dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:paddingTop="5dp" />

            <LinearLayout
                android:id="@+id/basicData"
                android:layout_width="0dp"
                android:layout_height="58dp"
                android:layout_weight="0.6"
                android:orientation="vertical"
                android:paddingBottom="5dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:paddingTop="5dp" >

                <TextView
                    android:id="@+id/company"
                    android:layout_width="fill_parent"
                    android:layout_height="20dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/website"
                    android:layout_width="fill_parent"
                    android:layout_height="12dp"
                    android:autoLink="web"
                    android:textSize="10dp" />

                <TextView
                    android:id="@+id/dates"
                    android:layout_width="fill_parent"
                    android:layout_height="26dp" />
            </LinearLayout>

            <TextView
                android:id="@+id/percentage"
                android:layout_width="0dp"
                android:layout_height="58dp"
                android:layout_weight="0.15"
                android:gravity="center"
                android:textSize="20dp"
                android:textStyle="bold" />
        </LinearLayout>

        <TextView
            android:id="@+id/description"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/blue"
            android:paddingBottom="5dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="5dp" />

        <Button
            android:id="@+id/showAddress"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/border"
            android:textColor="@color/blue" />

        <LinearLayout
            android:id="@+id/address"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/blue"
            android:orientation="vertical"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="3dp"
            android:background="@color/border"
            android:orientation="horizontal" />

        <com.google.android.maps.MapView
            android:id="@+id/mapView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:apiKey="0z_x3fer_iyOOuWjZ77ZhMt5cYcKovSONgxLeSg"
            android:background="@color/blue"
            android:clickable="true" />
    </LinearLayout>

</ScrollView>

【问题讨论】:

  • 您可以发布您正在膨胀的 xml 文件并发布整个异常堆栈而不是第一行吗?
  • Sale.java:71 ,你这一行有什么,我想你这行有一个setcontentView,你能把这个布局的xml贴出来吗?
  • 检查这个post。您收到此错误 You are only allowed to have a single MapView in a MapActivity 。看起来你在使用 mapview 时只能做一次 setcontentView

标签: android


【解决方案1】:

您正在夸大包含 Activity onResume() 方法中的一些 XML 错误的布局。

发布该 XML,我们将尝试进行更好的调查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多