Android:支持MapFragment返回null

时间:2014-10-21 10:13:39

标签: android google-maps android-fragments supportmapfragment

我已经将android SDK更新为5.0,而我以前的项目没有使用它(在4.4.2中正常工作)。

我有一个扩展片段

的类
public class MapFragment extends Fragment{
//
}

在这个课程中,我使用谷歌支持mapfragment

夸大了布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map_tile_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="visible" >

    <RelativeLayout
        android:id="@+id/full_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <fragment
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.google.android.gms.maps.SupportMapFragment" />

        <Textview
            <!-- dfh
            fgh -->
        />

    </RelativeLayout>

</RelativeLayout>

当我在我的代码中执行此操作时,它返回null

    SupportMapFragment fragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map);

这条线在Android4.4.2中对我有用,但在更新后有一些问题......

有没有人找到解决方案......

1 个答案:

答案 0 :(得分:9)

我找到了答案,对我有用

而不是这个

 SupportMapFragment fragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map);

我已改为

SupportMapFragment  fragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);