【发布时间】: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