MapView:应用程序在启动时崩溃
我正在尝试使用根据手机方向旋转的地图来显示地图。我重写了 google 示例的一部分,以使用 SensorEventListner
而不是 SensorListener
。
我的问题是,当我尝试使用 findViewByID() 方法显示地图时,我的应用程序在启动时崩溃。如果我使用 MapView(Context, String) 来创建我的视图,它可以正常工作。我是否错过了使用 main.xml 布局文件的内容?这有什么问题吗?
提前致谢。
这是我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mRotateView = new RotateView(this);
// Seems ok
mMapView = new MapView(this, "0t6yfD1f6K1wZe99RmpB2KdpQHl23WZSPRtGLEg");
// Does not work: application crash on launch.
//setContentView(R.layout.main);
//mMapView = (MapView) findViewById(R.id.mapview);
mRotateView.addView(mMapView);
setContentView(mRotateView);
mMyLocationOverlay = new MyLocationOverlay(this, mMapView);
mMyLocationOverlay.runOnFirstFix(new Runnable() {
public void run() {
mMapView.getController().animateTo(
mMyLocationOverlay.getMyLocation());
}
});
mMapView.getOverlays().add(mMyLocationOverlay);
mMapView.getController().setZoom(18);
mMapView.setClickable(true);
mMapView.setEnabled(true);
mMapView.setBuiltInZoomControls(true);
}
AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hello" android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<uses-library android:name="com.google.android.maps" />
<activity android:name=".HelloGoogleMapsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
res/layout/main.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"
>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="0t6yfD1f6K1wZe99RmpB2KdpQHl23WZSPRtGLEg"
/>
</LinearLayout>
06-04 18:07:31.512: INFO/ActivityManager(66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.hello/.HelloGoogleMapsActivity }
06-04 18:07:31.842: INFO/ActivityManager(66): Start proc com.example.hello for activity com.example.hello/.HelloGoogleMapsActivity: pid=207 uid=10025 gids={3003, 1015}
06-04 18:07:33.053: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.063: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.093: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.282: DEBUG/qemud(34): fdhandler_accept_event: accepting on fd 10
06-04 18:07:33.282: DEBUG/qemud(34): created client 0x150b8 listening on fd 15
06-04 18:07:33.282: DEBUG/qemud(34): client_fd_receive: attempting registration for service 'sensors'
06-04 18:07:33.282: DEBUG/qemud(34): client_fd_receive: -> received channel id 8
06-04 18:07:33.292: DEBUG/qemud(34): client_registration: registration succeeded for client 8
06-04 18:07:33.302: DEBUG/qemud(34): fdhandler_event: disconnect on fd 15
06-04 18:07:33.312: DEBUG/SensorManager(207): found sensor: Goldfish 3-axis Accelerometer, handle=0
06-04 18:07:33.725: DEBUG/AndroidRuntime(207): Shutting down VM
06-04 18:07:33.725: WARN/dalvikvm(207): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
06-04 18:07:33.732: ERROR/AndroidRuntime(207): Uncaught handler: thread main exiting due to uncaught exception
06-04 18:07:33.772: ERROR/AndroidRuntime(207): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hello/com.example.hello.HelloGoogleMapsActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.os.Looper.loop(Looper.java:123)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at java.lang.reflect.Method.invokeNative(Native Method)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at java.lang.reflect.Method.invoke(Method.java:521)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at dalvik.system.NativeStart.main(Native Method)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addViewInner(ViewGroup.java:1856)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1751)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1708)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1688)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.example.hello.HelloGoogleMapsActivity.onCreate(HelloGoogleMapsActivity.java:156)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): ... 11 more
06-04 18:07:33.812: INFO/Process(66): Sending signal. PID: 207 SIG: 3
06-04 18:07:33.822: INFO/dalvikvm(207): threadid=7: reacting to signal 3
06-04 18:07:33.962: INFO/dalvikvm(207): Wrote stack trace to '/data/anr/traces.txt'
06-04 18:07:34.412: INFO/ARMAssembler(66): generated scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at [0x2aa9e8:0x2aaa8c] in 1786681 ns
06-04 18:07:34.442: INFO/ARMAssembler(66): generated scanline__00000077:03515104_00001001_00000000 [ 64 ipp] (84 ins) at [0x2ac4f8:0x2ac648] in 2802312 ns
06-04 18:07:41.580: WARN/ActivityManager(66): Launch timeout has expired, giving up wake lock!
06-04 18:07:42.550: WARN/ActivityManager(66): Activity idle timeout for HistoryRecord{4379c288 com.example.hello/.HelloGoogleMapsActivity}
我认为问题是我调用 setContentView() 2 次:
setContentView(R.layout.main);
mMapView = (MapView) findViewById(R.id.mapview);
mRotateView.addView(mMapView);
setContentView(mRotateView);
我尝试注释第一个 setContentView(R.layout.main);但应用程序在启动时仍然崩溃。它导致 NullPointerException :
06-05 10:30:10.272: WARN/dalvikvm(211): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
06-05 10:30:10.282: ERROR/AndroidRuntime(211): Uncaught handler: thread main exiting due to uncaught exception
06-05 10:30:10.312: ERROR/AndroidRuntime(211): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hello/com.example.hello.HelloGoogleMapsActivity}: java.lang.NullPointerException
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.os.Looper.loop(Looper.java:123)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at java.lang.reflect.Method.invokeNative(Native Method)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at java.lang.reflect.Method.invoke(Method.java:521)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at dalvik.system.NativeStart.main(Native Method)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): Caused by: java.lang.NullPointerException
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.view.ViewGroup.addView(ViewGroup.java:1701)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.view.ViewGroup.addView(ViewGroup.java:1688)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.example.hello.HelloGoogleMapsActivity.onCreate(HelloGoogleMapsActivity.java:156)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): ... 11 more
现在我知道问题来自哪里;但我不知道如何使用 main.xml 文件创建我的 MapView。
我正在使用 new MapView() 代替;它确实有效,但这是最好的方法吗?
I'm trying to display a map using that rotates according to the phone's orientation. I have rewrite a part of the google sample to use a SensorEventListner
instead of a SensorListener
.
My Problem is when I try to use the findViewByID()
method to display the map my application crashes on start. If I use MapView(Context, String)
to create my view it works fine. Did I miss something to use main.xml layout file ? What's wrong with this ?
Thanks in advance.
Here is my code :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mRotateView = new RotateView(this);
// Seems ok
mMapView = new MapView(this, "0t6yfD1f6K1wZe99RmpB2KdpQHl23WZSPRtGLEg");
// Does not work: application crash on launch.
//setContentView(R.layout.main);
//mMapView = (MapView) findViewById(R.id.mapview);
mRotateView.addView(mMapView);
setContentView(mRotateView);
mMyLocationOverlay = new MyLocationOverlay(this, mMapView);
mMyLocationOverlay.runOnFirstFix(new Runnable() {
public void run() {
mMapView.getController().animateTo(
mMyLocationOverlay.getMyLocation());
}
});
mMapView.getOverlays().add(mMyLocationOverlay);
mMapView.getController().setZoom(18);
mMapView.setClickable(true);
mMapView.setEnabled(true);
mMapView.setBuiltInZoomControls(true);
}
AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hello" android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<uses-library android:name="com.google.android.maps" />
<activity android:name=".HelloGoogleMapsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
res/layout/main.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"
>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="0t6yfD1f6K1wZe99RmpB2KdpQHl23WZSPRtGLEg"
/>
</LinearLayout>
06-04 18:07:31.512: INFO/ActivityManager(66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.hello/.HelloGoogleMapsActivity }
06-04 18:07:31.842: INFO/ActivityManager(66): Start proc com.example.hello for activity com.example.hello/.HelloGoogleMapsActivity: pid=207 uid=10025 gids={3003, 1015}
06-04 18:07:33.053: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.063: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.093: ERROR/ActivityThread(207): Failed to find provider info for com.google.settings
06-04 18:07:33.282: DEBUG/qemud(34): fdhandler_accept_event: accepting on fd 10
06-04 18:07:33.282: DEBUG/qemud(34): created client 0x150b8 listening on fd 15
06-04 18:07:33.282: DEBUG/qemud(34): client_fd_receive: attempting registration for service 'sensors'
06-04 18:07:33.282: DEBUG/qemud(34): client_fd_receive: -> received channel id 8
06-04 18:07:33.292: DEBUG/qemud(34): client_registration: registration succeeded for client 8
06-04 18:07:33.302: DEBUG/qemud(34): fdhandler_event: disconnect on fd 15
06-04 18:07:33.312: DEBUG/SensorManager(207): found sensor: Goldfish 3-axis Accelerometer, handle=0
06-04 18:07:33.725: DEBUG/AndroidRuntime(207): Shutting down VM
06-04 18:07:33.725: WARN/dalvikvm(207): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
06-04 18:07:33.732: ERROR/AndroidRuntime(207): Uncaught handler: thread main exiting due to uncaught exception
06-04 18:07:33.772: ERROR/AndroidRuntime(207): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hello/com.example.hello.HelloGoogleMapsActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.os.Looper.loop(Looper.java:123)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at java.lang.reflect.Method.invokeNative(Native Method)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at java.lang.reflect.Method.invoke(Method.java:521)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at dalvik.system.NativeStart.main(Native Method)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addViewInner(ViewGroup.java:1856)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1751)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1708)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.view.ViewGroup.addView(ViewGroup.java:1688)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at com.example.hello.HelloGoogleMapsActivity.onCreate(HelloGoogleMapsActivity.java:156)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-04 18:07:33.772: ERROR/AndroidRuntime(207): ... 11 more
06-04 18:07:33.812: INFO/Process(66): Sending signal. PID: 207 SIG: 3
06-04 18:07:33.822: INFO/dalvikvm(207): threadid=7: reacting to signal 3
06-04 18:07:33.962: INFO/dalvikvm(207): Wrote stack trace to '/data/anr/traces.txt'
06-04 18:07:34.412: INFO/ARMAssembler(66): generated scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at [0x2aa9e8:0x2aaa8c] in 1786681 ns
06-04 18:07:34.442: INFO/ARMAssembler(66): generated scanline__00000077:03515104_00001001_00000000 [ 64 ipp] (84 ins) at [0x2ac4f8:0x2ac648] in 2802312 ns
06-04 18:07:41.580: WARN/ActivityManager(66): Launch timeout has expired, giving up wake lock!
06-04 18:07:42.550: WARN/ActivityManager(66): Activity idle timeout for HistoryRecord{4379c288 com.example.hello/.HelloGoogleMapsActivity}
I think the problem is that I call setContentView() 2 times :
setContentView(R.layout.main);
mMapView = (MapView) findViewById(R.id.mapview);
mRotateView.addView(mMapView);
setContentView(mRotateView);
I've tried to Comment the first setContentView(R.layout.main); but the application is still crashing at launch time. It result in a NullPointerException :
06-05 10:30:10.272: WARN/dalvikvm(211): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
06-05 10:30:10.282: ERROR/AndroidRuntime(211): Uncaught handler: thread main exiting due to uncaught exception
06-05 10:30:10.312: ERROR/AndroidRuntime(211): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hello/com.example.hello.HelloGoogleMapsActivity}: java.lang.NullPointerException
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.os.Looper.loop(Looper.java:123)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.main(ActivityThread.java:4203)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at java.lang.reflect.Method.invokeNative(Native Method)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at java.lang.reflect.Method.invoke(Method.java:521)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at dalvik.system.NativeStart.main(Native Method)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): Caused by: java.lang.NullPointerException
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.view.ViewGroup.addView(ViewGroup.java:1701)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.view.ViewGroup.addView(ViewGroup.java:1688)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at com.example.hello.HelloGoogleMapsActivity.onCreate(HelloGoogleMapsActivity.java:156)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
06-05 10:30:10.312: ERROR/AndroidRuntime(211): ... 11 more
Now I know where the problem commes from; but I don't know how to create my MapView using the main.xml file.
I'm using new MapView() instead; it does work, but is it the good way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果为视图定义类,类名应该写在xml文件的item中。在这种情况下,看起来 onCreate 函数没有引用您的布局 main.xml 文件。尝试layout.findViewById(R.id.mapview);而不仅仅是 findViewById(R.id.mapview);。如果这不起作用,您还可以尝试在调用地图视图之前添加此内容:
If you define a class for a view, the class name should be written in the item of the xml file. In this case it looks like the onCreate function isn't referenced to your layout main.xml file. Try layout.findViewById(R.id.mapview); instead of just findViewById(R.id.mapview);. If that doesn't work you can also try adding this in before the call to the mapview: