2010-08-31 67 views
1

我创建了一个新的MapActivityMapProbaMapActivity错误:强制关闭

从主Activity我想告诉MapActivity:按钮单击事件,我把这个代码:

Intent myIntent = new Intent(this, com.art.mode.MapProba.class);   
    startActivity(myIntent); 

但我收到强制关闭错误。

在我的XML文件,我用这个代码:

<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <com.google.android.maps.MapView 
     android:id="@+id/map_view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:apiKey="SomeGoogleMapAPIKeyHere" /> 
</LinearLayout> 

在日志中我收到此错误:

08-31 04:47:10.218: ERROR/AndroidRuntime(593): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.art.mode/com.art.mode.MapProba}: 
android.view.InflateException: Binary XML file line #7: Error inflating class com.google.android.maps.MapView 

7号线是:com.google.android.maps.MapView

当我删除此代码形式的XML文件:

<com.google.android.maps.MapView 
    android:id="@+id/map_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:apiKey="SomeGoogleMapAPIKeyHere" /> 

黑屏出现(没有错误)

清单文件我有:

uses-permission android:name="android.permission.INTERNET" 
uses-permission android:name="android.permission.ACCESS_LOCATION" 

<uses-library android:name="com.google.android.maps" /> 

任何想法?

感谢


UPDATE

08-31 12:22:00.648: ERROR/AndroidRuntime(656): FATAL EXCEPTION: main 
08-31 12:22:00.648: ERROR/AndroidRuntime(656): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.art.mode/com.art.mode.MapProba}: android.view.InflateException: Binary XML file line #7: Error inflating class com.google.android.maps.MapView 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.os.Looper.loop(Looper.java:123) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at dalvik.system.NativeStart.main(Native Method) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.google.android.maps.MapView 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.Activity.setContentView(Activity.java:1647) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.art.mode.MapProba.onCreate(MapProba.java:12) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  ... 11 more 
08-31 12:22:00.648: ERROR/AndroidRuntime(656): Caused by: java.lang.reflect.InvocationTargetException 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.google.android.maps.MapView.<init>(MapView.java:238) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at java.lang.reflect.Constructor.constructNative(Native Method) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  ... 21 more 
08-31 12:22:00.648: ERROR/AndroidRuntime(656): Caused by: java.lang.NullPointerException 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:382) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.google.android.maps.MapView.<init>(MapView.java:280) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  at com.google.android.maps.MapView.<init>(MapView.java:255) 
08-31 12:22:00.648: ERROR/AndroidRuntime(656):  ... 25 more 
+0

检查该解决方案http://stackoverflow.com/a/7644635/779408 – breceivemail 2012-10-27 07:38:16

回答

3

我有同样的问题,你必须把这个标签放在你的AndroidManifest中。XML

<uses-library android:name="com.google.android.maps"/> 

它应该是里面:

<application> 
    <uses-library android:name="com.google.android.maps"/> 
</application> 

!!!!永远,永远外

,并使用此对你要跟活动

Intent myIntent = new Intent(getBaseContext(), MapProba.class);    
startActivity(myIntent); 
0

你能发送更多的错误日志的,随之而来右后

XML文件行#7:错误充气类融为一体。 google.android.maps.MapView ...

它可能会知道为什么它不能夸大这个类,不管是不存在的,或者它缺少库...等等...

- 你更新后 -

什么样的设备你在运行这个?

如果您使用模拟器,则需要使用Google API作为构建目标。

如果您使用的是真实设备,它应该可以在G1上正常工作,但如果它是从AOSP移植Android的设备,则很可能没有安装正确的库。

具体来说,你应该有一个像com.google.android.maps.jar和com.google.android.maps.xml 文件有一个很好的教程中使用的MapView: http://developer.android.com/resources/tutorials/views/hello-mapview.html

+0

我有所有日志消息的编辑问题。 感谢您的回复 – Jovan 2010-08-31 10:22:28

0

在您地图形式类,你使用extends MapActivity而不是extends Activity?在我意识到我在使用错误的扩展类之前,这让我感到困惑了一段时间。 :P