2016-03-14 2 views
0

Im créer une application avec AS et j'ai besoin d'afficher une carte Google dans le troisième onglet de mon TabHost. J'ai lu beaucoup de questions et de tutoriels et ils utilisent généralement ActivityGroup (ce qui est obsolète). Je ne peux pas mettre le code cartes Google dans mon MainActivity.java parce que je l'ai déjà exteneded des autres:Android Studio - Comment définir un contenu d'onglet à partir d'une autre activité?

public class MainActivity extends BaseActivity implements View.OnClickListener{ 

alors comment je peux résoudre ce problème? J'ai aussi lu à propos de Fragments si ActivityGroup est obsolète mais cela fonctionnera-t-il si j'utilise un TabHost?

Merci d'avance!

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)); 
} 
+0

Qu'est-ce que vous voulez exactement faire? –

+0

Je veux juste montrer mon MapsActivity dans un onglet de mon TabHost – ferrvn

Répondre

0

La méthode que j'ai expérimentée consiste à utiliser un FragmentTabHost et à ajouter le MapFragment à cela. Si vous déclarez FragmentTabHost dans MainActivity, vous devrez peut-être modifier Activity en FragmentActivity. Personnellement, j'étais incapable de trouver un moyen alternatif. Mais vous devriez être capable de changer vos classes pour hériter de FragmentActivity sans trop de problèmes. Vous pouvez également vous contenter d'utiliser des vues et ajouter un MapView au lieu d'utiliser SupportMapFragment, mais SupportMapFragment vous en donnera plus de la boîte.