Android 如何将地图视图添加到已拥有“;扩展;?
我正在开发一个android应用程序,包括带标签的滑动视图。 所有页面都有自己的布局,所有这些都很好:D 但是我想在这个视图中添加一个MapView(来自Google API),所以我需要将我的MainActivity(我唯一拥有的一个)扩展到MapActivity,但是我不能(这里没有错): 那么,有没有办法从MainActivity管理我的MapView 非常感谢:)Android 如何将地图视图添加到已拥有“;扩展;?,android,api,maps,android-mapview,Android,Api,Maps,Android Mapview,我正在开发一个android应用程序,包括带标签的滑动视图。 所有页面都有自己的布局,所有这些都很好:D 但是我想在这个视图中添加一个MapView(来自Google API),所以我需要将我的MainActivity(我唯一拥有的一个)扩展到MapActivity,但是我不能(这里没有错): 那么,有没有办法从MainActivity管理我的MapView 非常感谢:) (对不起,我的英语语法不好)答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如古尔布兰德指出的
(对不起,我的英语语法不好)答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如古尔布兰德指出的,还有一个类似的问题,这可能对任何尝试与我相同的事情的人都有用。答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如古尔布兰德指出的,还有一个类似的问题,这可能对任何尝试与我相同的事情的人都有用。答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如古尔布兰德指出的,还有一个类似的问题,这可能对任何尝试与我相同的事情的人都有用。答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如gulbrandr指出的,还有一个类似的问题,这可能对任何尝试与我相同的事情的人都有用。经常当你遇到这样的问题时,你需要考虑封装而不是扩展。不能将MapView用作成员变量吗 如果您查看了,它说明我们必须为MapView实现Android生命周期,以使其正常运行。因此,如果使用MapView作为成员变量,则需要重写主活动中的以下方法,以调用MapView中的匹配方法:
onCreate(Bundle)
onResume()
onPause()
onDestroy()
onSaveInstanceState(Bundle)
onLowMemory()
例如,您的活动如下所示:
public final class MainActivity extends Activity {
private MapView mMapView;
@Override
public final void onCreate(final Bundle pSavedInstanceState) {
super(pSavedInstanceState);
this.mMapView = new MapView(this);
/* Now delegate the event to the MapView. */
this.mMapView.onCreate(pSavedInstanceState);
}
@Override
public final void onResume() {
super.onResume();
this.getMapView().onResume();
}
@Override
public final void onPause() {
super.onPause();
this.getMapView().onPause();
}
@Override
public final void onDestroy() {
super.onDestroy();
this.getMapView().onDestroy();
}
@Override
public final void onSaveInstanceState(final Bundle pSavedInstanceState) {
super.onSaveInstanceState(pSavedInstanceState);
this.getMapView().onSaveInstanceState(pSavedInstanceState);
}
@Override
public final void onLowMemory() {
super.onLowMemory();
this.getMapView().onLowMemory();
}
private final MapView getMapView() {
return this.mMapView;
}
}
通常,当您遇到这样的问题时,您需要考虑封装而不是扩展。不能将MapView用作成员变量吗 如果您查看了,它说明我们必须为MapView实现Android生命周期,以使其正常运行。因此,如果使用MapView作为成员变量,则需要重写主活动中的以下方法,以调用MapView中的匹配方法:
onCreate(Bundle)
onResume()
onPause()
onDestroy()
onSaveInstanceState(Bundle)
onLowMemory()
例如,您的活动如下所示:
public final class MainActivity extends Activity {
private MapView mMapView;
@Override
public final void onCreate(final Bundle pSavedInstanceState) {
super(pSavedInstanceState);
this.mMapView = new MapView(this);
/* Now delegate the event to the MapView. */
this.mMapView.onCreate(pSavedInstanceState);
}
@Override
public final void onResume() {
super.onResume();
this.getMapView().onResume();
}
@Override
public final void onPause() {
super.onPause();
this.getMapView().onPause();
}
@Override
public final void onDestroy() {
super.onDestroy();
this.getMapView().onDestroy();
}
@Override
public final void onSaveInstanceState(final Bundle pSavedInstanceState) {
super.onSaveInstanceState(pSavedInstanceState);
this.getMapView().onSaveInstanceState(pSavedInstanceState);
}
@Override
public final void onLowMemory() {
super.onLowMemory();
this.getMapView().onLowMemory();
}
private final MapView getMapView() {
return this.mMapView;
}
}
通常,当您遇到这样的问题时,您需要考虑封装而不是扩展。不能将MapView用作成员变量吗 如果您查看了,它说明我们必须为MapView实现Android生命周期,以使其正常运行。因此,如果使用MapView作为成员变量,则需要重写主活动中的以下方法,以调用MapView中的匹配方法:
onCreate(Bundle)
onResume()
onPause()
onDestroy()
onSaveInstanceState(Bundle)
onLowMemory()
例如,您的活动如下所示:
public final class MainActivity extends Activity {
private MapView mMapView;
@Override
public final void onCreate(final Bundle pSavedInstanceState) {
super(pSavedInstanceState);
this.mMapView = new MapView(this);
/* Now delegate the event to the MapView. */
this.mMapView.onCreate(pSavedInstanceState);
}
@Override
public final void onResume() {
super.onResume();
this.getMapView().onResume();
}
@Override
public final void onPause() {
super.onPause();
this.getMapView().onPause();
}
@Override
public final void onDestroy() {
super.onDestroy();
this.getMapView().onDestroy();
}
@Override
public final void onSaveInstanceState(final Bundle pSavedInstanceState) {
super.onSaveInstanceState(pSavedInstanceState);
this.getMapView().onSaveInstanceState(pSavedInstanceState);
}
@Override
public final void onLowMemory() {
super.onLowMemory();
this.getMapView().onLowMemory();
}
private final MapView getMapView() {
return this.mMapView;
}
}
通常,当您遇到这样的问题时,您需要考虑封装而不是扩展。不能将MapView用作成员变量吗 如果您查看了,它说明我们必须为MapView实现Android生命周期,以使其正常运行。因此,如果使用MapView作为成员变量,则需要重写主活动中的以下方法,以调用MapView中的匹配方法:
onCreate(Bundle)
onResume()
onPause()
onDestroy()
onSaveInstanceState(Bundle)
onLowMemory()
例如,您的活动如下所示:
public final class MainActivity extends Activity {
private MapView mMapView;
@Override
public final void onCreate(final Bundle pSavedInstanceState) {
super(pSavedInstanceState);
this.mMapView = new MapView(this);
/* Now delegate the event to the MapView. */
this.mMapView.onCreate(pSavedInstanceState);
}
@Override
public final void onResume() {
super.onResume();
this.getMapView().onResume();
}
@Override
public final void onPause() {
super.onPause();
this.getMapView().onPause();
}
@Override
public final void onDestroy() {
super.onDestroy();
this.getMapView().onDestroy();
}
@Override
public final void onSaveInstanceState(final Bundle pSavedInstanceState) {
super.onSaveInstanceState(pSavedInstanceState);
this.getMapView().onSaveInstanceState(pSavedInstanceState);
}
@Override
public final void onLowMemory() {
super.onLowMemory();
this.getMapView().onLowMemory();
}
private final MapView getMapView() {
return this.mMapView;
}
}
谢谢你的回答,但我觉得这对我来说有点困难,我真的不知道我必须做什么…:(我对代码做了更多充实。希望这会有所帮助。很好,这很有用。但只在我的第一个视图(在第一页)中,而不是在我的第二个页面(崩溃)中使用相同的布局:(啊,这是个好消息。我真的很高兴我能提供帮助。你现在可以将你的问题标记为已回答吗?:)谢谢你的回答,但我觉得这对我来说有点困难,我真的不知道我必须做什么…:(我已经对代码做了更多的充实。希望这会有所帮助。很好,这是工作。但仅在我的第一个视图(在第一页)中,而不是在我的第二个页面(崩溃)中,布局相同:(啊,这是个好消息。我真的很高兴能帮上忙。你现在能把你的问题标记为已回答吗?:)谢谢你的回答,但我觉得这对我来说有点困难,我真的不明白我必须做什么…:(我已经把代码充实了一点。希望这会有所帮助。很好,这是个工作。但只是在我的第一个视图中(在第一页)但在我的第二页(崩溃)中没有相同的布局:(啊,这是个好消息。我真的很高兴能帮上忙。你现在能把你的问题标记为已回答吗?:)谢谢你的回答,但我觉得这对我来说有点难,我真的不知道我必须做什么…:(我对代码做了更多充实。希望这会有所帮助。很好,这很有用。但只在我的第一个视图(在第一页)中,而不是在我的第二个页面(崩溃)中使用相同的布局:(啊,这是个好消息。我真的很高兴我能提供帮助。你现在可以将你的问题标记为已回答吗?:)所以我可以使用MapFragment?非常感谢,我现在正在测试:)
MapActivity
是针对Maps V1的,它已经被弃用了约16个月,不能再用于新的开发。Maps V2,当前的map API,根本没有MapActivity
,更不用说使用它了。所以我可以使用MapFragment?非常感谢,我现在正在测试:)MapActivity
是针对Maps V1的,它已经被弃用了约16个月,不能再用于新的开发。Maps V2,当前的map API,根本没有MapActivity
,更不用说使用它了。所以我可以使用MapFragment?非常感谢,我现在正在测试:)MapActivity
适用于Maps V1,该版本已弃用约16个月,无法再用于新的开发。当前的map API Maps V2根本没有MapActivity
,更不用说使用要求了