2014-01-21 12 views
5

Ich versuche, Google Map in Android mit Google API zu implementieren, aber ich erhalte den FehlerVerfahren getFragmentManager() ist nicht definiert für den Typ MainActivity

Verfahren getFragmentManager() ist nicht definiert für den Typ MainActivity

die ganze MainActivity Code lautet wie folgt:

public class MainActivity extends Activity { 

private GoogleMap map; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 

    } 
} 

Antwort

0

Wenn Sie getFragmentManager() verwenden möchten müssen Sie eine E xtend FragmentActivity nicht Activity wie

public class MainActivity extends FragmentActivity { 

private GoogleMap map; 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 

map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 
} 
} 
7

Fragmente wurden aus Honey Comb Uhr zur Verfügung und damit Ihre Ziel API soll> = 11

Wenn Sie Fragmente verwenden, um ältere Versionen von Android wollen, stellen Sie android verwenden Unterstützung v7 Bibliothek. Und in diesem Fall muss Ihre MainActivity ActionBarActivity anstelle von Activity.

Wenn Sie android Unterstützung v4 verwenden, wird Ihre MainActivity FragmentActivity erweitern und Sie werden getSupportFragmentManager() statt getFragmentManager()

Ich hoffe, es hilft anrufen müssen!

+0

"Wenn Sie Android-Support v4 verwenden, soll Ihre MainActivity FragmentActivity erweitern." Diese Linie hat mir sehr geholfen !!! – Prachi

0

Stellen Sie sicher, diesen Import hinzufügen

import com.google.android.gms.maps.MapFragment; 

Und fügen Sie diese Anmerkung vor der onCreate Methode

@SuppressLint("NewApi") 

Hope this helfen!

Verwandte Themen