之前开发过程中,从来没有在布局中直接使用过fragment,一般都是在布局中使用FrameLayout,然后在activity中给这个布局设置fragment,在新项目中遇到了这样的使用:
<fragment
android:id="@+id/map"
android:layout_width="wrap_content"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
原来使用的是,要得到这个fragment,使用的是
getSupportFragmentManager().findFragmentById()
但这个方法,有时候是正常的,有时候,返回为null,要是一直不正确,也可以,但关键是有时候可以,有时候不可以,我现在还没有搞明白这个问题,最后,百度了好久,才在stackoverflow上找到答案,如果你的fragment是这样使用的,想在代码中获取它的实例,应该这样写:
GoogleMap mGoogleMap = ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map)).getMap();