2014-01-21 57 views
5

我想實現谷歌地圖在Android中使用谷歌API,但我得到的錯誤方法getFragmentManager()是未定義的類型MainActivity

的方法getFragmentManager()是未定義的類型MainActivity

整個MainActivity代碼如下:

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(); 

    } 
} 

回答

0

如果你想使用getFragmentManager()你需要電子XTEND FragmentActivityActivity

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

片段,可從蜂巢開始,因此您的目標API應> = 11

如果你想使用片段來舊版Android,你必須使用Android 支持v7庫。在這種情況下,您的MainActivity應擴展ActionBarActivity,而不是Activity。

如果您正在使用的Android 支持V4,您的MainActivity應延長FragmentActivity,你將需要調用getSupportFragmentManager()代替getFragmentManager()

的我希望它能幫助!

+0

「如果您使用的是Android支持v4,則您的MainActivity應擴展FragmentActivity。」這條線幫了我很多! – Prachi

0

確保添加此導入

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

而且onCreate方法之前添加此註釋

@SuppressLint("NewApi") 

希望這將幫助!

相關問題