我的FragmentActivity
扩展ActionBar.TabListener
有两个标签。
在我的第一个标签中,我试图显示GoogleMap
。
如何在我的onCreateView()
方法中执行此操作?这是我的代码:
public class MapFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_map, container, false);
this.ctx = container.getContext();
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
return rootView;
}
}
这段代码让我对getMap()
:
对于MapFragment类型
,方法getMap()未定义
这是我的XML布局fragment_map.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
答案 0 :(得分:0)
我愿意打赌你升级你的GooglePlayServices库。
公共最终GoogleMap getMap()
不推荐使用此方法。
改为使用getMapAsync(OnMapReadyCallback)。回调方法为您提供了一个保证非空并准备好使用的GoogleMap实例。
您现在需要使用getMapAsync(OnMapReadyCallback callback)代替getMap()
。