Android Studio - 如何设置来自另一个 activity 的选项卡内容?

Android Studio - How to set a tab content from another activity?

我正在使用 AS 创建一个应用程序,我需要在我的 TabHost 的第三个选项卡中显示一个 Google 地图。我已经阅读了很多问题和教程,他们通常使用 ActivityGroup(已弃用)。我无法将 Google 地图代码放入我的 MainActivity.java 中,因为我已经从其他人那里扩展了:

public class MainActivity extends BaseActivity implements View.OnClickListener{

那么我该如何解决这个问题呢? 我还阅读了有关 Fragments if ActivityGroup is deprecated 的内容,但是如果我使用的是 TabHost,这会起作用吗?

提前致谢!

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}


@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}

我有经验的方法是使用 FragmentTabHost 并将 MapFragment 添加到其中。如果您在 MainActivity 中声明 FragmentTabHost,您可能需要将 Activity 更改为 FragmentActivity。我个人无法找到替代方法。但是您应该能够轻松地将 类 更改为从 FragmentActivity 继承。

或者,您可以坚持使用视图并添加 MapView 而不是使用 SupportMapFragment,但 SupportMapFragment 会为您提供更多开箱即用的功能。