我正在尝试在操作栏的选项卡中实现 map 。但要做到这一点,我需要将 FragmentActivity 更改为 Fragment。现在,要实现 google maps v2,我无法获取 map fragment 的 ID。 这是我的代码中的代码 fragment :
xml文件:
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment" />
</LinearLayout>
java文件:
public class FragmentMap extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public static class MapAct extends Fragment {
static final LatLng MARK = new LatLng(53.558678, 9.9271234);
private GoogleMap map;
MapView mMapView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.addition, container, false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
map = ((SupportMapFragment)getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
Marker hamburg = map.addMarker(new MarkerOptions().position(MARK));
}
}
请帮助。我是这个概念的新手。
最佳答案
你需要将 Activity 转换为 FragmentActivity
FragmentActivity activity = (FragmentActivity) getActivity();
map = ((SupportMapFragment)activity.getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
关于java - getSupportFragmentManager() 在 Activity 扩展 fragment 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20565064/