Android 如何将地图视图添加到已拥有“;扩展;?

Android 如何将地图视图添加到已拥有“;扩展;?,android,api,maps,android-mapview,Android,Api,Maps,Android Mapview,我正在开发一个android应用程序,包括带标签的滑动视图。 所有页面都有自己的布局,所有这些都很好:D 但是我想在这个视图中添加一个MapView(来自Google API),所以我需要将我的MainActivity(我唯一拥有的一个)扩展到MapActivity,但是我不能(这里没有错): 那么,有没有办法从MainActivity管理我的MapView 非常感谢:) (对不起,我的英语语法不好)答案是否定的。如果不扩展MapActivity,就不可能使用MapView。正如古尔布兰德指出的

我正在开发一个android应用程序,包括带标签的滑动视图。 所有页面都有自己的布局,所有这些都很好:D

但是我想在这个视图中添加一个MapView(来自Google API),所以我需要将我的MainActivity(我唯一拥有的一个)扩展到MapActivity,但是我不能(这里没有错):

那么,有没有办法从MainActivity管理我的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
,更不用说使用要求了